summaryrefslogtreecommitdiffstats
path: root/python/protocols
diff options
context:
space:
mode:
authorNicolas Clapies <nclapies@entrouvert.com>2004-04-19 16:17:56 +0000
committerNicolas Clapies <nclapies@entrouvert.com>2004-04-19 16:17:56 +0000
commit8dff393969fa08a7db967b9c35ffbf138a683999 (patch)
treeba407b609bc2ff6551d0ac4ebf04b2e1d180201f /python/protocols
parent9aaeda1a36d580eb8f973867be5408d322477391 (diff)
downloadlasso-8dff393969fa08a7db967b9c35ffbf138a683999.tar.gz
lasso-8dff393969fa08a7db967b9c35ffbf138a683999.tar.xz
lasso-8dff393969fa08a7db967b9c35ffbf138a683999.zip
update for classes LogoutRequest and LogoutResponse
Diffstat (limited to 'python/protocols')
-rw-r--r--python/protocols/py_logout.c86
-rw-r--r--python/protocols/py_logout.h13
2 files changed, 99 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));
+}
diff --git a/python/protocols/py_logout.h b/python/protocols/py_logout.h
index e258f460..90f432f9 100644
--- a/python/protocols/py_logout.h
+++ b/python/protocols/py_logout.h
@@ -38,4 +38,17 @@ PyObject *lassoLogoutRequest_wrap(lassoLogoutRequest *request);
PyObject *logout_request_getattr(PyObject *self, PyObject *args);
PyObject *logout_request_create(PyObject *self, PyObject *args);
+typedef struct {
+ PyObject_HEAD
+ lassoLogoutResponse *obj;
+} lassoLogoutResponse_object;
+
+#define lassoLogoutResponse_get(v) (((v) == Py_None) ? NULL : (((lassoLogoutResponse_object *)(PyObject_GetAttr(v, PyString_FromString("_o"))))->obj))
+PyObject *lassoLogoutResponse_wrap(lassoLogoutResponse *response);
+
+PyObject *logout_response_getattr(PyObject *self, PyObject *args);
+PyObject *logout_response_create(PyObject *self, PyObject *args);
+PyObject *logout_response_init(PyObject *self, PyObject *args);
+
+
#endif /* __PYLASSO_PY_LOGOUT_H__ */