diff options
| author | Valery Febvre <vfebvre at easter-eggs.com> | 2004-07-26 18:07:52 +0000 |
|---|---|---|
| committer | Valery Febvre <vfebvre at easter-eggs.com> | 2004-07-26 18:07:52 +0000 |
| commit | 8ae1b1ce45388639f2a07544e3588adb0cdd84a2 (patch) | |
| tree | aba9fe441b2a6fb185446ed60d4e3f5415d16c19 /python | |
| parent | 02445023b66db5e1a11137e068ac19db00fdc12a (diff) | |
| download | lasso-8ae1b1ce45388639f2a07544e3588adb0cdd84a2.tar.gz lasso-8ae1b1ce45388639f2a07544e3588adb0cdd84a2.tar.xz lasso-8ae1b1ce45388639f2a07544e3588adb0cdd84a2.zip | |
Added new ProfileContext class
Diffstat (limited to 'python')
| -rw-r--r-- | python/environs/py_login.c | 14 | ||||
| -rw-r--r-- | python/environs/py_profile_context.c | 56 | ||||
| -rw-r--r-- | python/environs/py_profile_context.h | 11 | ||||
| -rw-r--r-- | python/lasso.py | 53 |
4 files changed, 109 insertions, 25 deletions
diff --git a/python/environs/py_login.c b/python/environs/py_login.c index 32b45b4a..e774e456 100644 --- a/python/environs/py_login.c +++ b/python/environs/py_login.c @@ -95,22 +95,16 @@ PyObject *login_getattr(PyObject *self, PyObject *args) { /******************************************************************************/ PyObject *login_new(PyObject *self, PyObject *args) { - PyObject *server_obj, *user_obj; + PyObject *server_obj; LassoLogin *login; - LassoServer *server; - LassoUser *user = NULL; - if (CheckArgs(args, "Oo:login_new")) { - if(!PyArg_ParseTuple(args, (char *) "O|O:login_new", &server_obj, &user_obj)) + if (CheckArgs(args, "O:login_new")) { + if(!PyArg_ParseTuple(args, (char *) "O:login_new", &server_obj)) return NULL; } else return NULL; - server = LassoServer_get(server_obj); - if (user_obj != Py_None) { - user = LassoUser_get(user_obj); - } - login = lasso_login_new(server, user); + login = lasso_login_new(LassoServer_get(server_obj)); return (LassoLogin_wrap(login)); } diff --git a/python/environs/py_profile_context.c b/python/environs/py_profile_context.c index 655c2b3a..1583cbf7 100644 --- a/python/environs/py_profile_context.c +++ b/python/environs/py_profile_context.c @@ -25,6 +25,22 @@ #include "../lassomod.h" #include "py_profile_context.h" +#include "py_user.h" +#include "py_server.h" + +PyObject *LassoProfileContext_wrap(LassoProfileContext *ctx) { + PyObject *ret; + + if (ctx == NULL) { + Py_INCREF(Py_None); + return (Py_None); + } + ret = PyCObject_FromVoidPtrAndDesc((void *) ctx, + (char *) "LassoProfileContext *", NULL); + return (ret); +} + +/******************************************************************************/ PyObject *profile_context_get_request_type_from_soap_msg(PyObject *self, PyObject *args) { gchar *soap_buffer; @@ -42,3 +58,43 @@ PyObject *profile_context_get_request_type_from_soap_msg(PyObject *self, PyObjec return(int_wrap(type)); } +/******************************************************************************/ + +PyObject *profile_context_new(PyObject *self, PyObject *args) { + PyObject *server_obj, *user_obj; + LassoProfileContext *ctx; + LassoUser *user = NULL; + + if (CheckArgs(args, "Oo:profile_context_new")) { + if(!PyArg_ParseTuple(args, (char *) "O|O:profile_context_new", + &server_obj, &user_obj)) + return NULL; + } + else return NULL; + + if (user_obj != Py_None) { + user = LassoUser_get(user_obj); + } + ctx = lasso_profile_context_new(LassoServer_get(server_obj), + user); + + return (LassoProfileContext_wrap(ctx)); +} + +PyObject *profile_context_set_user_from_dump(PyObject *self, PyObject *args) { + PyObject *ctx_obj; + gchar *dump; + gint ret; + + if (CheckArgs(args, "OS:profile_context_set_user_from_dump")) { + if(!PyArg_ParseTuple(args, (char *) "Os:profile_context_set_user_from_dump", + &ctx_obj, &dump)) + return NULL; + } + else return NULL; + + ret = lasso_profile_context_set_remote_providerID(LassoProfileContext_get(ctx_obj), + dump); + + return(int_wrap(ret)); +} diff --git a/python/environs/py_profile_context.h b/python/environs/py_profile_context.h index 00ec0117..9583aa00 100644 --- a/python/environs/py_profile_context.h +++ b/python/environs/py_profile_context.h @@ -28,8 +28,19 @@ #include <lasso/environs/profile_context.h> +typedef struct { + PyObject_HEAD + LassoProfileContext *obj; +} LassoProfileContext_object; + +#define LassoProfileContext_get(v) (((v) == Py_None) ? NULL : (((LassoProfileContext_object *)(PyObject_GetAttr(v, PyString_FromString("_o"))))->obj)) +PyObject *LassoProfileContext_wrap(LassoProfileContext *ctx); + PyObject *profile_context_get_request_type_from_soap_msg(PyObject *self, PyObject *args); +PyObject *profile_context_new(PyObject *self, PyObject *args); +PyObject *profile_context_set_user_from_dump(PyObject *self, PyObject *args); + #endif /* __PYLASSO_PY_PROFILE_CONTEXT_H__ */ diff --git a/python/lasso.py b/python/lasso.py index 2f77c19a..9934e837 100644 --- a/python/lasso.py +++ b/python/lasso.py @@ -47,16 +47,6 @@ def shutdown(): """ return lassomod.shutdown() -# Request types -requestTypeLogin = 1 -requestTypeLogout = 2 -requestTypeFederationTermination = 3 -requestTypeRegisterNameIdentifier = 4 -requestTypeNameIdentifierMapping = 5 - -def get_request_type_from_soap_msg(soap_buffer): - return lassomod.profile_context_get_request_type_from_soap_msg(soap_buffer); - ################################################################################ # xml : low level classes ################################################################################ @@ -883,10 +873,41 @@ class User: def remove_assertion(self, remote_providerID): lassomod.user_remove_assertion(self, remote_providerID) +## ProfileContext +# Request types +requestTypeLogin = 1 +requestTypeLogout = 2 +requestTypeFederationTermination = 3 +requestTypeRegisterNameIdentifier = 4 +requestTypeNameIdentifierMapping = 5 + +def get_request_type_from_soap_msg(soap_buffer): + return lassomod.profile_context_get_request_type_from_soap_msg(soap_buffer); + +class ProfileContext: + """\brief Short desc + + Long desc + """ + def __init__(self, _obj): + """ + The constructor + """ + self._o = _obj + + def new(cls, server, user=None): + obj = lassomod.profile_context_new(server, user) + return ProfileContext(obj) + new = classmethod(new) + + def set_user_from_dump(self, dump): + return lassomod.profile_context_set_user_from_dump(self, dump) + +## login loginProtocolProfileBrwsArt = 1 loginProtocolProfileBrwsPost = 2 -class Login: +class Login(ProfileContext): """\brief Short desc Long desc @@ -897,6 +918,7 @@ class Login: The constructor """ self._o = _obj + ProfileContext.__init__(self, _obj=_obj) def __isprivate(self, name): return name == '_o' @@ -920,8 +942,8 @@ class Login: ret = Node(_obj=ret) return ret - def new(cls, server, user=None): - obj = lassomod.login_new(server, user) + def new(cls, server): + obj = lassomod.login_new(server) return Login(obj) new = classmethod(new) @@ -978,8 +1000,9 @@ class Login: return lassomod.login_process_response_msg(self, response_msg) -providerTypeSp = 1 -providerTypeIdp = 2 +providerTypeNone = 0 +providerTypeSp = 1 +providerTypeIdp = 2 class Logout: """\brief Short desc |
