summaryrefslogtreecommitdiffstats
path: root/python/environs
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/environs
parent02445023b66db5e1a11137e068ac19db00fdc12a (diff)
downloadlasso-8ae1b1ce45388639f2a07544e3588adb0cdd84a2.tar.gz
lasso-8ae1b1ce45388639f2a07544e3588adb0cdd84a2.tar.xz
lasso-8ae1b1ce45388639f2a07544e3588adb0cdd84a2.zip
Added new ProfileContext class
Diffstat (limited to 'python/environs')
-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
3 files changed, 71 insertions, 10 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__ */