summaryrefslogtreecommitdiffstats
path: root/python/environs
diff options
context:
space:
mode:
authorValery Febvre <vfebvre at easter-eggs.com>2004-08-02 23:59:26 +0000
committerValery Febvre <vfebvre at easter-eggs.com>2004-08-02 23:59:26 +0000
commit8944a5f52d6d49ad646837e4595132500ddaccfe (patch)
treedc6eccdfbc051cb043ddd57a7f8157e2fc62f8af /python/environs
parent2586368612f993fdaee361cdbd4df889f29972f9 (diff)
downloadlasso-8944a5f52d6d49ad646837e4595132500ddaccfe.tar.gz
lasso-8944a5f52d6d49ad646837e4595132500ddaccfe.tar.xz
lasso-8944a5f52d6d49ad646837e4595132500ddaccfe.zip
- Replaced some charPtrConst_wrap() calls by charPtr_wrap()
- Added GPtrArray_wrap() function to wrap GPtrArray into Python list. - Added session_getattr() function, we can get now providerIDs and is_dirty properties of Session objects.
Diffstat (limited to 'python/environs')
-rw-r--r--python/environs/py_identity.c2
-rw-r--r--python/environs/py_login.c2
-rw-r--r--python/environs/py_logout.c2
-rw-r--r--python/environs/py_session.c35
-rw-r--r--python/environs/py_session.h2
5 files changed, 36 insertions, 7 deletions
diff --git a/python/environs/py_identity.c b/python/environs/py_identity.c
index 403fa749..a7c466b2 100644
--- a/python/environs/py_identity.c
+++ b/python/environs/py_identity.c
@@ -74,5 +74,5 @@ PyObject *identity_dump(PyObject *self, PyObject *args) {
dump = lasso_identity_dump(LassoIdentity_get(identity_obj));
- return (charPtrConst_wrap(dump));
+ return (charPtr_wrap(dump));
}
diff --git a/python/environs/py_login.c b/python/environs/py_login.c
index 4a41be6d..862e7113 100644
--- a/python/environs/py_login.c
+++ b/python/environs/py_login.c
@@ -240,7 +240,7 @@ PyObject *login_dump(PyObject *self, PyObject *args) {
ret = lasso_login_dump(LassoLogin_get(login_obj));
- return (charPtrConst_wrap(ret));
+ return (charPtr_wrap(ret));
}
PyObject *login_init_authn_request(PyObject *self, PyObject *args) {
diff --git a/python/environs/py_logout.c b/python/environs/py_logout.c
index 22681d7c..4038dce5 100644
--- a/python/environs/py_logout.c
+++ b/python/environs/py_logout.c
@@ -154,7 +154,7 @@ PyObject *logout_get_next_providerID(PyObject *self, PyObject *args) {
remote_providerID = lasso_logout_get_next_providerID(LassoLogout_get(logout_obj));
- return (charPtrConst_wrap(remote_providerID));
+ return (charPtr_wrap(remote_providerID));
}
PyObject *logout_init_request(PyObject *self, PyObject *args) {
diff --git a/python/environs/py_session.c b/python/environs/py_session.c
index cbe396ae..1a7040db 100644
--- a/python/environs/py_session.c
+++ b/python/environs/py_session.c
@@ -42,6 +42,35 @@ PyObject *LassoSession_wrap(LassoSession *session) {
/******************************************************************************/
+PyObject *session_getattr(PyObject *self, PyObject *args) {
+ PyObject *session_obj;
+ LassoSession *session;
+ const char *attr;
+
+ if (CheckArgs(args, "OS:session_get_attr")) {
+ if (!PyArg_ParseTuple(args, "Os:session_get_attr", &session_obj, &attr))
+ return NULL;
+ }
+ else return NULL;
+
+ session = LassoSession_get(session_obj);
+
+ if (!strcmp(attr, "__members__")) {
+ return Py_BuildValue("[ss]", "providerIDs", "is_dirty");
+ }
+ if (!strcmp(attr, "providerIDs")) {
+ return (GPtrArray_wrap(session->providerIDs));
+ }
+ if (!strcmp(attr, "is_dirty")) {
+ return (int_wrap(session->is_dirty));
+ }
+
+ Py_INCREF(Py_None);
+ return (Py_None);
+}
+
+/******************************************************************************/
+
PyObject *session_new(PyObject *self, PyObject *args) {
return (LassoSession_wrap(lasso_session_new()));
}
@@ -107,7 +136,7 @@ PyObject *session_dump(PyObject *self, PyObject *args) {
dump = lasso_session_dump(LassoSession_get(session_obj));
- return (charPtrConst_wrap(dump));
+ return (charPtr_wrap(dump));
}
PyObject *session_get_assertion(PyObject *self, PyObject *args) {
@@ -143,7 +172,7 @@ PyObject *session_get_authentication_method(PyObject *self, PyObject *args) {
authentication_method = lasso_session_get_authentication_method(LassoSession_get(session_obj),
remote_providerID);
- return (charPtrConst_wrap(authentication_method));
+ return (charPtr_wrap(authentication_method));
}
PyObject *session_get_next_assertion_remote_providerID(PyObject *self, PyObject *args) {
@@ -159,7 +188,7 @@ PyObject *session_get_next_assertion_remote_providerID(PyObject *self, PyObject
remote_providerID = lasso_session_get_next_assertion_remote_providerID(LassoSession_get(session_obj));
- return (charPtrConst_wrap(remote_providerID));
+ return (charPtr_wrap(remote_providerID));
}
PyObject *session_remove_assertion(PyObject *self, PyObject *args) {
diff --git a/python/environs/py_session.h b/python/environs/py_session.h
index 182dc869..d383840a 100644
--- a/python/environs/py_session.h
+++ b/python/environs/py_session.h
@@ -36,9 +36,9 @@ typedef struct {
#define LassoSession_get(v) (((v) == Py_None) ? NULL : (((LassoSession_object *)(PyObject_GetAttr(v, PyString_FromString("_o"))))->obj))
PyObject *LassoSession_wrap(LassoSession *session);
+PyObject *session_getattr(PyObject *self, PyObject *args);
PyObject *session_new(PyObject *self, PyObject *args);
PyObject *session_new_from_dump(PyObject *self, PyObject *args);
-
PyObject *session_add_assertion(PyObject *self, PyObject *args);
PyObject *session_destroy(PyObject *self, PyObject *args);
PyObject *session_dump(PyObject *self, PyObject *args);