From 1ede604043a3b25759f3192d7c66eb8fa226c19b Mon Sep 17 00:00:00 2001 From: Nicolas Clapies Date: Tue, 11 May 2004 09:52:45 +0000 Subject: federation termination notification c and binding --- python/lasso.py | 66 ++++++++++++---------- python/lassomod.c | 2 + .../py_federation_termination_notification.c | 41 ++++++++++++-- .../py_federation_termination_notification.h | 2 + 4 files changed, 77 insertions(+), 34 deletions(-) (limited to 'python') diff --git a/python/lasso.py b/python/lasso.py index 0e622806..e89463b0 100644 --- a/python/lasso.py +++ b/python/lasso.py @@ -324,21 +324,26 @@ class AuthnResponse(Node): class FederationTerminationNotification(LibFederationTerminationNotification): - def __init__(self, providerID, - nameIdentifier, nameQualifier = None, format = None, _obj=None): + def __init__(self, obj): """ """ - if _obj != None: - self._o = _obj - return - self._o = lassomod.federation_termination_notification_new(providerID, - nameIdentifier, - nameQualifier, - format) - if self._o is None: - raise Error('lasso_federation_termination_notification_new() failed') - LibFederationTerminationNotification.__init__(self, _obj=_obj) + self._o = obj + LibFederationTerminationNotification.__init__(self, _obj=self._o) + def new(cls, providerID, nameIdentifier, nameQualifier, format): + obj = lassomod.federation_termination_notification_new(providerID, nameIdentifier, nameQualifier, format) + return FederationTerminationNotification(obj) + new = classmethod(new) + + def new_from_soap(cls, envelope): + obj = lassomod.federation_termination_notification_new_from_soap(envelope) + return FederationTerminationNotification(obj) + new_from_soap = classmethod(new_from_soap) + + def new_from_query(cls, query): + obj = lassomod.federation_termination_notification_new_from_query(query) + return FederationTerminationNotification(obj) + new_from_query = classmethod(new_from_query) class LogoutRequest(LibLogoutRequest): def __init__(self, obj): @@ -429,28 +434,29 @@ class NameIdentifierMappingResponse(Node): class RegisterNameIdentifierRequest(Node): - def __init__(self, - providerID, - idpNameIdentifier, idpNameQualifier, idpFormat, - spNameIdentifier, spNameQualifier, spFormat, - oldNameIdentifier, oldNameQualifier, oldFormat, - _obj=None): + def __init__(_obj): """ """ - if _obj != None: - self._o = _obj - return - _obj = lassomod.register_name_identifier_request_new(providerID, - idpNameIdentifier, idpNameQualifier, idpFormat, - spNameIdentifier, spNameQualifier, spFormat, - oldNameIdentifier, oldNameQualifier, oldFormat) - if _obj is None: - raise Error('lasso_register_name_identifier_request_new() failed') - Node.__init__(self, _obj=_obj) + self._o = obj + LibRegisterNameIdentifierRequest.__init__(self, _obj = self._o) + + def new(cls, providerID, nameIdentifier, nameQualifier, format): + obj = lassomod.register_name_identifier_new(providerID, nameIdentifier, nameQualifier, format) + return RegisterNameIdentifierRequest(obj) + new = classmethod(new) - def changeAttributeNamesIdentifiers(self): - lassomod.register_name_identifier_request_change_attribute_names_identifiers(self); + def new_from_soap(cls, envelope): + obj = lassomod.register_name_identifier_new_from_soap(envelope) + return RegisterNameIdentifierRequest(obj) + new_from_soap = classmethod(new_from_soap) + + def new_from_query(cls, query): + obj = lassomod.register_name_identifier_new_from_query(query) + return RegisterNameIdentifierRequest(obj) + new_from_query = classmethod(new_from_query) + def url_encode(self): + pass class RegisterNameIdentifierResponse(Node): def __init__(self, diff --git a/python/lassomod.c b/python/lassomod.c index d3b7d58c..30e048ca 100644 --- a/python/lassomod.c +++ b/python/lassomod.c @@ -134,6 +134,8 @@ static PyMethodDef lasso_methods[] = { /* py_federation_termination_notification.h */ {"federation_termination_notification_new", federation_termination_notification_new, METH_VARARGS}, + {"federation_termination_notification_new_from_soap", federation_termination_notification_new_from_soap, METH_VARARGS}, + {"federation_termination_notification_new_from_query", federation_termination_notification_new_from_query, METH_VARARGS}, /* py_logout_request.h */ {"logout_request_new", logout_request_new, METH_VARARGS}, diff --git a/python/protocols/py_federation_termination_notification.c b/python/protocols/py_federation_termination_notification.c index 08cb780e..e3b7945c 100644 --- a/python/protocols/py_federation_termination_notification.c +++ b/python/protocols/py_federation_termination_notification.c @@ -49,10 +49,9 @@ PyObject *federation_termination_notification_new(PyObject *self, PyObject *args LassoNode *notification; - if (CheckArgs(args, "SSss:federation_termination_notification_new")) { - if(!PyArg_ParseTuple(args, (char *) "sszz:federation_termination_notification_new", - &providerID, &nameIdentifier, - &nameQualifier, &format)) + if (CheckArgs(args, "SSSS:federation_termination_notification_new")) { + if(!PyArg_ParseTuple(args, (char *) "ssss:federation_termination_notification_new", + &providerID, &nameIdentifier,&nameQualifier, &format)) return NULL; } else return NULL; @@ -64,3 +63,37 @@ PyObject *federation_termination_notification_new(PyObject *self, PyObject *args return (LassoFederationTerminationNotification_wrap(LASSO_FEDERATION_TERMINATION_NOTIFICATION(notification))); } + +PyObject *federation_termination_notification_new_from_soap(PyObject *self, PyObject *args) { + const xmlChar *soap_buffer; + + LassoNode *notification; + + if (CheckArgs(args, "S:federation_termination_notification_new_from_soap")) { + if(!PyArg_ParseTuple(args, (char *) "s:federation_termination_notification_new_from_soap", + &soap_buffer)) + return NULL; + } + else return NULL; + + notification = lasso_federation_termination_notification_new_from_soap(soap_buffer); + + return (LassoFederationTerminationNotification_wrap(LASSO_FEDERATION_TERMINATION_NOTIFICATION(notification))); +} + +PyObject *federation_termination_notification_new_from_query(PyObject *self, PyObject *args) { + const xmlChar *query; + + LassoNode *notification; + + if (CheckArgs(args, "S:federation_termination_notification_new_from_query")) { + if(!PyArg_ParseTuple(args, (char *) "s:federation_termination_notification_new_from_query", + &query)) + return NULL; + } + else return NULL; + + notification = lasso_federation_termination_notification_new_from_query(query); + + return (LassoFederationTerminationNotification_wrap(LASSO_FEDERATION_TERMINATION_NOTIFICATION(notification))); +} diff --git a/python/protocols/py_federation_termination_notification.h b/python/protocols/py_federation_termination_notification.h index a20a947e..2030f085 100644 --- a/python/protocols/py_federation_termination_notification.h +++ b/python/protocols/py_federation_termination_notification.h @@ -37,5 +37,7 @@ typedef struct { PyObject *LassoFederationTerminationNotification_wrap(LassoFederationTerminationNotification *notification); PyObject *federation_termination_notification_new(PyObject *self, PyObject *args); +PyObject *federation_termination_notification_new_from_soap(PyObject *self, PyObject *args); +PyObject *federation_termination_notification_new_from_query(PyObject *self, PyObject *args); #endif /* __PYLASSO_PY_FEDERATION_TERMINATION_NOTIFICATION_H__ */ -- cgit