summaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
authorNicolas Clapies <nclapies@entrouvert.com>2004-05-05 17:05:18 +0000
committerNicolas Clapies <nclapies@entrouvert.com>2004-05-05 17:05:18 +0000
commitb57e1b705be534e86a4273e036ab7c94f38ff2d0 (patch)
tree04193bfe1982e26ffcaf50fe61361a1bf324f55a /python
parent288995dd19a0a5eb1af0d32ffe867a0e37a59a8a (diff)
downloadlasso-b57e1b705be534e86a4273e036ab7c94f38ff2d0.tar.gz
lasso-b57e1b705be534e86a4273e036ab7c94f38ff2d0.tar.xz
lasso-b57e1b705be534e86a4273e036ab7c94f38ff2d0.zip
update of LogoutRequest LogoutResponse classes
Diffstat (limited to 'python')
-rw-r--r--python/lasso.py69
-rw-r--r--python/lassomod.c12
-rw-r--r--python/protocols/py_logout_request.c42
-rw-r--r--python/protocols/py_logout_request.h2
-rw-r--r--python/protocols/py_logout_response.c77
-rw-r--r--python/protocols/py_logout_response.h5
6 files changed, 166 insertions, 41 deletions
diff --git a/python/lasso.py b/python/lasso.py
index 139ed9df..73897f42 100644
--- a/python/lasso.py
+++ b/python/lasso.py
@@ -152,6 +152,17 @@ class LibLogoutRequest(Node):
lassomod.lib_logout_request_set_sessionIndex(self, sessionIndex)
+class LibLogoutResponse(Node):
+ def __init__(self, _obj = None):
+ if _obj!=None:
+ self._o = _obj
+ return
+
+ _obj = lassomod.lib_logout_response_new()
+ if _obj is None: raise Error('lasso_lib_logout_response_new() failed')
+ Node.__init__(self, _obj = _obj)
+
+
class LibNameIdentifierMappingRequest(Node):
def __init__(self, _obj=None):
"""
@@ -305,39 +316,51 @@ class LogoutRequest(LibLogoutRequest):
def __init__(self, obj):
"""
"""
-## if _obj != None:
-## self._o = _obj
-## return
-## _obj = lassomod.logout_request_new(soap,
-## query,
-## providerID,
-## nameIdentifier,
-## nameQualifier,
-## format)
-## if _obj is None: raise Error('lasso_logout_request_new() failed')
-## LibLogoutRequest.__init__(self, _obj=_obj)
-
self._o = obj
LibLogoutRequest.__init__(self, _obj = self._o)
-
def new(cls, providerID, nameIdentifier, nameQualifier, format):
obj = lassomod.logout_request_new(providerID, nameIdentifier, nameQualifier, format)
return LogoutRequest(obj)
new = classmethod(new)
-class LogoutResponse(Node):
- def __init__(self, soap, query, providerID, statusCodeValue, request, _obj=None):
+ def new_from_soap(cls, envelope):
+ obj = lassomod.logout_request_new_from_soap(envelope)
+ return LogoutRequest(obj)
+ new_from_soap = classmethod(new_from_soap)
+
+ def new_from_query(cls, query):
+ obj = lassomod.logout_request_new_from_query(query)
+ return LogoutRequest(obj)
+ new_from_query = classmethod(new_from_query)
+
+
+class LogoutResponse(LibLogoutResponse):
+ def __init__(self, obj):
"""
"""
- if _obj != None:
- self._o = _obj
- return
- _obj = lassomod.logout_response_new(soap, query,
- providerID, statusCodeValue,
- request)
- if _obj is None: raise Error('lasso_logout_response_new() failed')
- Node.__init__(self, _obj=_obj)
+ self._o = obj
+ LibLogoutResponse.__init__(self, _obj = self._o)
+
+ def new_from_request_soap(cls, envelope, providerID, status_code_value):
+ obj = lassomod.logout_response_new_from_request_soap(envelope, providerID, status_code_value)
+ return LogoutResponse(obj)
+ new_from_request_soap = classmethod(new_from_request_soap)
+
+ def new_from_soap(cls, envelope):
+ obj = lassomod.logout_response_new_from_soap(envelope)
+ return LogoutResponse(obj)
+ new_from_soap = classmethod(new_from_soap)
+
+ def new_from_dump(cls, dump):
+ obj = lassomod.logout_response_new_from_dump(dump)
+ return LogoutResponse(obj)
+ new_from_dump = classmethod(new_from_dump)
+
+ def new_from_request_query(cls, query, providerID, status_code_value):
+ obj = lassomod.logout_response_new_from_request_query(query, providerID, status_code_value)
+ return LogoutResponse(obj);
+ new_from_request_query = classmethod(new_from_request_query)
class NameIdentifierMappingRequest(LibNameIdentifierMappingRequest):
diff --git a/python/lassomod.c b/python/lassomod.c
index a855bfa8..3396e88e 100644
--- a/python/lassomod.c
+++ b/python/lassomod.c
@@ -30,6 +30,7 @@
#include "xml/py_lib_authn_request.h"
#include "xml/py_lib_federation_termination_notification.h"
#include "xml/py_lib_logout_request.h"
+#include "xml/py_lib_logout_response.h"
#include "xml/py_lib_name_identifier_mapping_request.h"
#include "xml/py_lib_register_name_identifier_request.h"
#include "xml/py_saml_assertion.h"
@@ -87,6 +88,8 @@ static PyMethodDef lasso_methods[] = {
{"lib_logout_request_set_relayState", lib_logout_request_set_relayState, METH_VARARGS},
{"lib_logout_request_set_sessionIndex", lib_logout_request_set_sessionIndex, METH_VARARGS},
+ {"lib_logout_response_new", lib_logout_response_new, METH_VARARGS},
+
/* py_lib_name_identifier_mapping_request.h */
{"lib_name_identifier_mapping_request_new", lib_name_identifier_mapping_request_new, METH_VARARGS},
{"lib_name_identifier_mapping_request_set_consent", lib_name_identifier_mapping_request_set_consent, METH_VARARGS},
@@ -126,10 +129,15 @@ static PyMethodDef lasso_methods[] = {
{"federation_termination_notification_new", federation_termination_notification_new, METH_VARARGS},
/* py_logout_request.h */
- {"logout_request_new", logout_request_new, METH_VARARGS},
+ {"logout_request_new", logout_request_new, METH_VARARGS},
+ {"logout_request_new_from_soap", logout_request_new_from_soap, METH_VARARGS},
+ {"logout_request_new_from_query", logout_request_new_from_query, METH_VARARGS},
/* py_logout_response.h */
- {"logout_response_new", logout_response_new, METH_VARARGS},
+ {"logout_response_new_from_request_soap", logout_response_new_from_request_soap, METH_VARARGS},
+ {"logout_response_new_from_soap", logout_response_new_from_soap, METH_VARARGS},
+ {"logout_response_new_from_dump", logout_response_new_from_dump, METH_VARARGS},
+ {"logout_response_new_from_request_query", logout_response_new_from_request_query, METH_VARARGS},
/* py_name_identifier_mapping_request.h */
{"name_identifier_mapping_request_new", name_identifier_mapping_request_new, METH_VARARGS},
diff --git a/python/protocols/py_logout_request.c b/python/protocols/py_logout_request.c
index e6ead2ea..fde13d34 100644
--- a/python/protocols/py_logout_request.c
+++ b/python/protocols/py_logout_request.c
@@ -44,8 +44,8 @@ PyObject *LassoLogoutRequest_wrap(LassoLogoutRequest *request) {
PyObject *logout_request_new(PyObject *self, PyObject *args) {
const xmlChar *providerID;
const xmlChar *nameIdentifier;
- const xmlChar *nameQualifier = NULL;
- const xmlChar *format = NULL;
+ const xmlChar *nameQualifier;
+ const xmlChar *format;
LassoNode *request;
@@ -56,8 +56,42 @@ PyObject *logout_request_new(PyObject *self, PyObject *args) {
}
else return NULL;
- request = lasso_logout_request_new(providerID, nameIdentifier,
- nameQualifier, format);
+ request = lasso_logout_request_new(providerID,
+ nameIdentifier, nameQualifier, format);
+
+ return (LassoLogoutRequest_wrap(LASSO_LOGOUT_REQUEST(request)));
+}
+
+PyObject *logout_request_new_from_soap(PyObject *self, PyObject *args) {
+ const xmlChar *soap_buffer;
+
+ LassoNode *request;
+
+ if (CheckArgs(args, "S:logout_request_new_from_soap")) {
+ if(!PyArg_ParseTuple(args, (char *) "s:logout_request_new_from_soap",
+ &soap_buffer))
+ return NULL;
+ }
+ else return NULL;
+
+ request = lasso_logout_request_new_from_soap(soap_buffer);
+
+ return (LassoLogoutRequest_wrap(LASSO_LOGOUT_REQUEST(request)));
+}
+
+PyObject *logout_request_new_from_query(PyObject *self, PyObject *args) {
+ const xmlChar *query;
+
+ LassoNode *request;
+
+ if (CheckArgs(args, "S:logout_request_new_from_query")) {
+ if(!PyArg_ParseTuple(args, (char *) "s:logout_request_new_from_query",
+ &query))
+ return NULL;
+ }
+ else return NULL;
+
+ request = lasso_logout_request_new_from_query(query);
return (LassoLogoutRequest_wrap(LASSO_LOGOUT_REQUEST(request)));
}
diff --git a/python/protocols/py_logout_request.h b/python/protocols/py_logout_request.h
index 4357767f..38cf1e46 100644
--- a/python/protocols/py_logout_request.h
+++ b/python/protocols/py_logout_request.h
@@ -39,5 +39,7 @@ PyObject *LassoLogoutRequest_wrap(LassoLogoutRequest *request);
PyObject *logout_request_getattr(PyObject *self, PyObject *args);
PyObject *logout_request_new(PyObject *self, PyObject *args);
+PyObject *logout_request_new_from_soap(PyObject *self, PyObject *args);
+PyObject *logout_request_new_from_query(PyObject *self, PyObject *args);
#endif /* __PYLASSO_PY_LOGOUT_REQUEST_H__ */
diff --git a/python/protocols/py_logout_response.c b/python/protocols/py_logout_response.c
index ee71dad2..32a8a87d 100644
--- a/python/protocols/py_logout_response.c
+++ b/python/protocols/py_logout_response.c
@@ -26,7 +26,6 @@
#include "../lassomod.h"
#include "py_logout_response.h"
-#include "py_logout_request.h"
PyObject *LassoLogoutResponse_wrap(LassoLogoutResponse *response) {
PyObject *ret;
@@ -42,24 +41,80 @@ PyObject *LassoLogoutResponse_wrap(LassoLogoutResponse *response) {
/******************************************************************************/
-PyObject *logout_response_new(PyObject *self, PyObject *args) {
+PyObject *logout_response_new_from_request_soap(PyObject *self, PyObject *args) {
+ const xmlChar *request_soap_dump;
const xmlChar *providerID;
- const xmlChar *statusCodeValue;
- PyObject *request_obj;
+ const xmlChar *status_code_value;
- LassoNode *response;
+ LassoNode *response = NULL;
- if (CheckArgs(args, "SSO:logout_response_new")) {
- if(!PyArg_ParseTuple(args, (char *) "ssO:logout_response_new",
+ if (CheckArgs(args, "SSS:logout_response_new_from_request_soap")) {
+ if(!PyArg_ParseTuple(args, (char *) "sss:logout_response_new_from_request_soap",
+ &request_soap_dump,
&providerID,
- &statusCodeValue, &request_obj))
+ &status_code_value))
return NULL;
}
else return NULL;
- response = lasso_logout_response_new(providerID,
- statusCodeValue,
- LassoLogoutRequest_get(request_obj));
+ response = lasso_logout_response_new_from_request_soap(request_soap_dump,
+ providerID,
+ status_code_value);
+
+ return (LassoLogoutResponse_wrap(LASSO_LOGOUT_RESPONSE(response)));
+}
+
+PyObject *logout_response_new_from_soap(PyObject *self, PyObject *args) {
+ const xmlChar *request_soap_dump;
+
+ LassoNode *response = NULL;
+
+ if (CheckArgs(args, "S:logout_response_new_from_soap")) {
+ if(!PyArg_ParseTuple(args, (char *) "s:logout_response_new_from_soap",
+ &request_soap_dump))
+ return NULL;
+ }
+ else return NULL;
+
+ response = lasso_logout_response_new_from_soap(request_soap_dump);
+
+ return (LassoLogoutResponse_wrap(LASSO_LOGOUT_RESPONSE(response)));
+}
+
+PyObject *logout_response_new_from_dump(PyObject *self, PyObject *args) {
+ const xmlChar *dump;
+
+ LassoNode *response = NULL;
+
+ if (CheckArgs(args, "S:logout_response_new_from_dump")) {
+ if(!PyArg_ParseTuple(args, (char *) "s:logout_response_new_from_dump",
+ &dump))
+ return NULL;
+ }
+ else return NULL;
+
+ response = lasso_logout_response_new_from_soap(dump);
+
+ return (LassoLogoutResponse_wrap(LASSO_LOGOUT_RESPONSE(response)));
+}
+
+PyObject *logout_response_new_from_request_query(PyObject *self, PyObject *args) {
+ const xmlChar *query;
+ const xmlChar *providerID;
+ const xmlChar *status_code_value;
+
+ LassoNode *response = NULL;
+
+ if (CheckArgs(args, "SSS:logout_response_new_from_request_query")) {
+ if(!PyArg_ParseTuple(args, (char *) "sss:logout_response_new_from_request_query",
+ &query,
+ &providerID,
+ &status_code_value))
+ return NULL;
+ }
+ else return NULL;
+
+ response = lasso_logout_response_new_from_request_query(query, providerID, status_code_value);
return (LassoLogoutResponse_wrap(LASSO_LOGOUT_RESPONSE(response)));
}
diff --git a/python/protocols/py_logout_response.h b/python/protocols/py_logout_response.h
index faad0c25..2994444d 100644
--- a/python/protocols/py_logout_response.h
+++ b/python/protocols/py_logout_response.h
@@ -35,6 +35,9 @@ typedef struct {
#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_new(PyObject *self, PyObject *args);
+PyObject *logout_response_new_from_request_soap(PyObject *self, PyObject *args);
+PyObject *logout_response_new_from_soap(PyObject *self, PyObject *args);
+PyObject *logout_response_new_from_dump(PyObject *self, PyObject *args);
+PyObject *logout_response_new_from_request_query(PyObject *self, PyObject *args);
#endif /* __PYLASSO_PY_LOGOUT_RESPONSE_H__ */