summaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
authorValery Febvre <vfebvre at easter-eggs.com>2004-07-26 18:07:52 +0000
committerValery Febvre <vfebvre at easter-eggs.com>2004-07-26 18:07:52 +0000
commit8ae1b1ce45388639f2a07544e3588adb0cdd84a2 (patch)
treeaba9fe441b2a6fb185446ed60d4e3f5415d16c19 /python
parent02445023b66db5e1a11137e068ac19db00fdc12a (diff)
downloadlasso-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.c14
-rw-r--r--python/environs/py_profile_context.c56
-rw-r--r--python/environs/py_profile_context.h11
-rw-r--r--python/lasso.py53
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