summaryrefslogtreecommitdiffstats
path: root/python/environs/py_profile_context.c
diff options
context:
space:
mode:
Diffstat (limited to 'python/environs/py_profile_context.c')
-rw-r--r--python/environs/py_profile_context.c56
1 files changed, 56 insertions, 0 deletions
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));
+}