summaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
authorNicolas Clapies <nclapies@entrouvert.com>2004-04-27 14:36:18 +0000
committerNicolas Clapies <nclapies@entrouvert.com>2004-04-27 14:36:18 +0000
commit7d5c442cc20fd40ea4784682c24fd4f8945b63a0 (patch)
treeded2db20faf95225a821313dd98afbe640b923ba /python
parent02ff9d7733735224d4f7e1580dadee0218e7b7e8 (diff)
downloadlasso-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.py11
-rw-r--r--python/lassomod.c8
-rw-r--r--python/protocols/py_logout_request.c43
-rw-r--r--python/protocols/py_logout_request.h5
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__ */