diff options
| author | Nicolas Clapies <nclapies@entrouvert.com> | 2004-05-05 17:05:18 +0000 |
|---|---|---|
| committer | Nicolas Clapies <nclapies@entrouvert.com> | 2004-05-05 17:05:18 +0000 |
| commit | b57e1b705be534e86a4273e036ab7c94f38ff2d0 (patch) | |
| tree | 04193bfe1982e26ffcaf50fe61361a1bf324f55a /python | |
| parent | 288995dd19a0a5eb1af0d32ffe867a0e37a59a8a (diff) | |
| download | lasso-b57e1b705be534e86a4273e036ab7c94f38ff2d0.tar.gz lasso-b57e1b705be534e86a4273e036ab7c94f38ff2d0.tar.xz lasso-b57e1b705be534e86a4273e036ab7c94f38ff2d0.zip | |
update of LogoutRequest LogoutResponse classes
Diffstat (limited to 'python')
| -rw-r--r-- | python/lasso.py | 69 | ||||
| -rw-r--r-- | python/lassomod.c | 12 | ||||
| -rw-r--r-- | python/protocols/py_logout_request.c | 42 | ||||
| -rw-r--r-- | python/protocols/py_logout_request.h | 2 | ||||
| -rw-r--r-- | python/protocols/py_logout_response.c | 77 | ||||
| -rw-r--r-- | python/protocols/py_logout_response.h | 5 |
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__ */ |
