diff options
| author | Nicolas Clapies <nclapies@entrouvert.com> | 2004-04-27 14:36:18 +0000 |
|---|---|---|
| committer | Nicolas Clapies <nclapies@entrouvert.com> | 2004-04-27 14:36:18 +0000 |
| commit | 7d5c442cc20fd40ea4784682c24fd4f8945b63a0 (patch) | |
| tree | ded2db20faf95225a821313dd98afbe640b923ba /python | |
| parent | 02ff9d7733735224d4f7e1580dadee0218e7b7e8 (diff) | |
| download | lasso-7d5c442cc20fd40ea4784682c24fd4f8945b63a0.tar.gz lasso-7d5c442cc20fd40ea4784682c24fd4f8945b63a0.tar.xz lasso-7d5c442cc20fd40ea4784682c24fd4f8945b63a0.zip | |
add optional element and attribute for LogoutRequest/Response
Diffstat (limited to 'python')
| -rw-r--r-- | python/lasso.py | 11 | ||||
| -rw-r--r-- | python/lassomod.c | 8 | ||||
| -rw-r--r-- | python/protocols/py_logout_request.c | 43 | ||||
| -rw-r--r-- | python/protocols/py_logout_request.h | 5 |
4 files changed, 64 insertions, 3 deletions
diff --git a/python/lasso.py b/python/lasso.py index 07d7a206..af61242a 100644 --- a/python/lasso.py +++ b/python/lasso.py @@ -241,11 +241,11 @@ class Response: def add_assertion(self, assertion): return lassomod.response_add_assertion(self, assertion) - class LogoutRequest(Node): def __init__(self, providerID, nameIdentifier, nameQualifier, format, + sessionIndex = None, relayState = None, consent = None, _obj=None): """ """ @@ -258,6 +258,15 @@ class LogoutRequest(Node): format) if self._o is None: raise Error('lasso_logout_request() failed') + if sessionIndex: + lassomod.logout_request_set_sessionIndex(self, sessionIndex) + + if relayState: + lassomod.logout_request_set_relayState(self, relayState) + + if consent: + lassomod.logout_request_set_consent(self, consent) + def __isprivate(self, name): return name == '_o' diff --git a/python/lassomod.c b/python/lassomod.c index 3fb18552..e177ad9c 100644 --- a/python/lassomod.c +++ b/python/lassomod.c @@ -51,8 +51,12 @@ static PyMethodDef lasso_methods[] = { /* protocols */ /* py_logout_request.h */ - {"logout_request_getattr", logout_request_getattr, METH_VARARGS}, - {"logout_request", logout_request, METH_VARARGS}, + {"logout_request_getattr", logout_request_getattr, METH_VARARGS}, + {"logout_request", logout_request, METH_VARARGS}, + + {"logout_request_set_sessionIndex", logout_request_set_sessionIndex, METH_VARARGS}, + {"logout_request_set_relayState", logout_request_set_relayState, METH_VARARGS}, + {"logout_request_set_consent", logout_request_set_consent, METH_VARARGS}, /* py_logout_response.h */ {"logout_response_getattr", logout_response_getattr, METH_VARARGS}, diff --git a/python/protocols/py_logout_request.c b/python/protocols/py_logout_request.c index d89a3ae0..f876e325 100644 --- a/python/protocols/py_logout_request.c +++ b/python/protocols/py_logout_request.c @@ -78,3 +78,46 @@ PyObject *logout_request(PyObject *self, PyObject *args) { return (lassoLogoutRequest_wrap(request)); } + +PyObject *logout_request_set_sessionIndex(PyObject *self, PyObject *args){ + PyObject *request_obj; + const xmlChar *sessionIndex; + + if(!PyArg_ParseTuple(args, (char *) "Os:logout_request_set_sessionIndex", + &request_obj, &sessionIndex)) + return NULL; + + lasso_lib_logout_request_set_sessionIndex(lassoLogoutRequest_get(request_obj), + sessionIndex); + + return (int_wrap(1)); +} + +PyObject *logout_request_set_relayState(PyObject *self, PyObject *args){ + PyObject *request_obj; + const xmlChar *relayState; + + if(!PyArg_ParseTuple(args, (char *) "Os:logout_request_set_relayState", + &request_obj, &relayState)) + return NULL; + + lasso_lib_logout_request_set_relayState(lassoLogoutRequest_get(request_obj), + relayState); + + return (int_wrap(1)); +} + +PyObject *logout_request_set_consent(PyObject *self, PyObject *args){ + PyObject *request_obj; + const xmlChar *consent; + + + if(!PyArg_ParseTuple(args, (char *) "Os:logout_request_set_consent", + &request_obj, &consent)) + return NULL; + + lasso_lib_logout_request_set_consent(lassoLogoutRequest_get(request_obj), + consent); + + return (int_wrap(1)); +} diff --git a/python/protocols/py_logout_request.h b/python/protocols/py_logout_request.h index d28794d7..af305e34 100644 --- a/python/protocols/py_logout_request.h +++ b/python/protocols/py_logout_request.h @@ -27,6 +27,7 @@ #define __PYLASSO_PY_LOGOUT_REQUEST_H__ #include <lasso/protocols/logout_request.h> +#include <lasso/xml/lib_logout_request.h> typedef struct { PyObject_HEAD @@ -39,4 +40,8 @@ PyObject *lassoLogoutRequest_wrap(LassoLogoutRequest *request); PyObject *logout_request_getattr(PyObject *self, PyObject *args); PyObject *logout_request(PyObject *self, PyObject *args); +PyObject *logout_request_set_sessionIndex(PyObject *self, PyObject *args); +PyObject *logout_request_set_relayState(PyObject *self, PyObject *args); +PyObject *logout_request_set_consent(PyObject *self, PyObject *args); + #endif /* __PYLASSO_PY_LOGOUT_REQUEST_H__ */ |
