diff options
author | Nicolas Clapies <nclapies@entrouvert.com> | 2004-04-19 16:17:56 +0000 |
---|---|---|
committer | Nicolas Clapies <nclapies@entrouvert.com> | 2004-04-19 16:17:56 +0000 |
commit | 8dff393969fa08a7db967b9c35ffbf138a683999 (patch) | |
tree | ba407b609bc2ff6551d0ac4ebf04b2e1d180201f /python/protocols/py_logout.c | |
parent | 9aaeda1a36d580eb8f973867be5408d322477391 (diff) | |
download | lasso-8dff393969fa08a7db967b9c35ffbf138a683999.tar.gz lasso-8dff393969fa08a7db967b9c35ffbf138a683999.tar.xz lasso-8dff393969fa08a7db967b9c35ffbf138a683999.zip |
update for classes LogoutRequest and LogoutResponse
Diffstat (limited to 'python/protocols/py_logout.c')
-rw-r--r-- | python/protocols/py_logout.c | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/python/protocols/py_logout.c b/python/protocols/py_logout.c index 2d6318b6..4886a6d5 100644 --- a/python/protocols/py_logout.c +++ b/python/protocols/py_logout.c @@ -96,3 +96,89 @@ PyObject *logout_request_create(PyObject *self, PyObject *args) { return (lassoLogoutRequest_wrap(request)); } + +/******************************************************************************/ +/* lassoLogoutResponse */ +/******************************************************************************/ + +PyObject *lassoLogoutResponse_wrap(lassoLogoutResponse *response) { + PyObject *ret; + + if (response == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + ret = PyCObject_FromVoidPtrAndDesc((void *) response, + (char *) "lassoLogoutResponse *", NULL); + return (ret); +} + +PyObject *logout_response_getattr(PyObject *self, PyObject *args) { + PyObject *response_obj; + lassoLogoutResponse *response; + const char *attr; + + if (CheckArgs(args, "OS:logout_response_get_attr")) { + if (!PyArg_ParseTuple(args, "Os:logout_response_get_attr", &response_obj, &attr)) + return NULL; + } + else return NULL; + + response = lassoLogoutResponse_get(response_obj); + + if (!strcmp(attr, "__members__")) + return Py_BuildValue("[s]", "node"); + if (!strcmp(attr, "node")) + return (LassoNode_wrap(response->node)); + + Py_INCREF(Py_None); + return (Py_None); +} + +PyObject *logout_response_create(PyObject *self, PyObject *args) { + char *query; + int verifySignature; + char *public_key; + char *private_key; + char *certificate; + + lassoLogoutResponse *response; + + if(!PyArg_ParseTuple(args, (char *) "sisss:logout_response_create", + &query, + &verifySignature, + &public_key, + &private_key, + &certificate)) + return NULL; + + response = lasso_logout_response_create(query, + verifySignature, + public_key, + private_key, + certificate); + + return (lassoLogoutResponse_wrap(response)); +} + +PyObject *logout_response_init(PyObject *self, PyObject *args) { + PyObject *response_obj; + char *providerID; + char *statusCodeValue; + char *relayState; + int ret; + + if(!PyArg_ParseTuple(args, (char *) "Osss:response_init", + &response_obj, + &providerID, + &statusCodeValue, + &relayState)) + return NULL; + + ret = lasso_logout_response_init(lassoLogoutResponse_get(response_obj), + providerID, + statusCodeValue, + relayState); + + return (int_wrap(ret)); +} |