summaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
authorNicolas Clapies <nclapies@entrouvert.com>2004-07-18 23:35:59 +0000
committerNicolas Clapies <nclapies@entrouvert.com>2004-07-18 23:35:59 +0000
commit244c4e278f655d2434f3b65158a43816ac1a110d (patch)
treebd2346719b66bdad7e9aac9f61a7fee7fbcfcffb /python
parent721642847cd1acf399f191d1bb205d7d6466f4fb (diff)
downloadlasso-244c4e278f655d2434f3b65158a43816ac1a110d.tar.gz
lasso-244c4e278f655d2434f3b65158a43816ac1a110d.tar.xz
lasso-244c4e278f655d2434f3b65158a43816ac1a110d.zip
*** empty log message ***
Diffstat (limited to 'python')
-rw-r--r--python/environs/py_federation_termination.c133
-rw-r--r--python/environs/py_federation_termination.h48
-rw-r--r--python/lassomod.c9
-rwxr-xr-xpython/setup.py9
4 files changed, 195 insertions, 4 deletions
diff --git a/python/environs/py_federation_termination.c b/python/environs/py_federation_termination.c
new file mode 100644
index 00000000..a9e9718d
--- /dev/null
+++ b/python/environs/py_federation_termination.c
@@ -0,0 +1,133 @@
+/* $Id$
+ *
+ * PyLasso -- Python bindings for Lasso library
+ *
+ * Copyright (C) 2004 Entr'ouvert
+ * http://lasso.labs.libre-entreprise.org
+ *
+ * Authors: Valery Febvre <vfebvre@easter-eggs.com>
+ * Nicolas Clapies <nclapies@entrouvert.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "../lassomod.h"
+
+#include "py_federation_termination.h"
+
+
+PyObject *LassoFederationTermination_wrap(LassoFederationTermination *federation_termination) {
+ PyObject *ret;
+
+ if (federation_termination == NULL) {
+ Py_INCREF(Py_None);
+ return (Py_None);
+ }
+ ret = PyCObject_FromVoidPtrAndDesc((void *) federation_termination,
+ (char *) "LassoFederationTermination *", NULL);
+ return (ret);
+}
+
+/******************************************************************************/
+
+PyObject *federation_termination_new(PyObject *self, PyObject *args) {
+ PyObject *server_obj, *user_obj;
+ LassoFederationTermination *federation_termination;
+ gint provider_type;
+
+ if (CheckArgs(args, "OOI:federation_termination_new")) {
+ if(!PyArg_ParseTuple(args, (char *) "OOi:federation_termination_new",
+ &server_obj, &user_obj, &provider_type))
+ return NULL;
+ }
+ else return NULL;
+
+ federation_termination = lasso_federation_termination_new(LassoServer_get(server_obj),
+ LassoUser_get(user_obj),
+
+ provider_type);
+
+ return (LassoFederationTermination_wrap(federation_termination));
+}
+
+PyObject *federation_termination_build_notification_msg(PyObject *self, PyObject *args) {
+ PyObject *federation_termination_obj;
+ gint codeError;
+
+ if (CheckArgs(args, "O:federation_termination_build_notification_msg")) {
+ if(!PyArg_ParseTuple(args, (char *) "O:federation_termination_build_notification_msg",
+ &federation_termination_obj))
+ return NULL;
+ }
+ else return NULL;
+
+ codeError = lasso_federation_termination_build_notification_msg(LassoFederationTermination_get(federation_termination_obj));
+
+ return(int_wrap(codeError));
+}
+
+PyObject *federation_termination_destroy(PyObject *self, PyObject *args){
+ PyObject *federation_termination_obj;
+
+ if (CheckArgs(args, "O:federation_termination_destroy")) {
+ if(!PyArg_ParseTuple(args, (char *) "O:federation_termination_destroy",
+ &federation_termination_obj))
+ return NULL;
+ }
+ else return NULL;
+
+ lasso_federation_termination_destroy(LassoFederationTermination_get(federation_termination_obj));
+
+ Py_INCREF(Py_None);
+ return(Py_None);
+}
+
+PyObject *federation_termination_init_notification(PyObject *self, PyObject *args) {
+ PyObject *federation_termination_obj;
+ gchar *remote_providerID;
+ gint codeError;
+
+ if (CheckArgs(args, "OS:federation_termination_init_notification")) {
+ if(!PyArg_ParseTuple(args, (char *) "Os:federation_termination_init_notification",
+ &federation_termination_obj, &remote_providerID))
+ return NULL;
+ }
+ else return NULL;
+
+ codeError = lasso_federation_termination_init_notification(LassoFederationTermination_get(federation_termination_obj),
+ remote_providerID);
+
+ return(int_wrap(codeError));
+}
+
+PyObject *federation_termination_process_notification_msg(PyObject *self, PyObject *args) {
+ PyObject *federation_termination_obj;
+ gchar *notification_msg;
+ gint notification_method;
+ gint codeError;
+
+ if (CheckArgs(args, "OSI:federation_termination_process_notification_msg")) {
+ if(!PyArg_ParseTuple(args, (char *) "Osi:federation_termination_process_notification_msg",
+ &federation_termination_obj, &notification_msg, &notification_method))
+ return NULL;
+ }
+ else return NULL;
+
+ codeError = lasso_federation_termination_process_notification_msg(LassoFederationTermination_get(federation_termination_obj),
+ notification_msg, notification_method);
+
+ return(int_wrap(codeError));
+}
+
diff --git a/python/environs/py_federation_termination.h b/python/environs/py_federation_termination.h
new file mode 100644
index 00000000..cc1ebefb
--- /dev/null
+++ b/python/environs/py_federation_termination.h
@@ -0,0 +1,48 @@
+/* $Id$
+ *
+ * PyLasso -- Python bindings for Lasso library
+ *
+ * Copyright (C) 2004 Entr'ouvert
+ * http://lasso.labs.libre-entreprise.org
+ *
+ * Authors: Valery Febvre <vfebvre@easter-eggs.com>
+ * Nicolas Clapies <nclapies@entrouvert.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __PYLASSO_PY_FEDERATION_TERMINATION_H__
+#define __PYLASSO_PY_FEDERATION_TERMINATION_H__
+
+#include <lasso/environs/federation_termination.h>
+
+#include "py_server.h"
+#include "py_user.h"
+
+typedef struct {
+ PyObject_HEAD
+ LassoFederationTermination *obj;
+} LassoFederationTermination_object;
+
+#define LassoFederationTermination_get(v) (((v) == Py_None) ? NULL : (((LassoFederationTermination_object *)(PyObject_GetAttr(v, PyString_FromString("_o"))))->obj))
+PyObject *LassoFederationTermination_wrap(LassoFederationTermination *federation_termination);
+
+PyObject *federation_termination_new(PyObject *self, PyObject *args);
+PyObject *federation_termination_build_notification_msg(PyObject *self, PyObject *args);
+PyObject *federation_termination_destroy(PyObject *self, PyObject *args);
+PyObject *federation_termination_init_notification(PyObject *self, PyObject *args);
+PyObject *federation_termination_process_notification_msg(PyObject *self, PyObject *args);
+
+#endif /* __PYLASSO_PY_FEDERATION_TERMINATION_H__ */
diff --git a/python/lassomod.c b/python/lassomod.c
index bdeef7bc..8a10fe21 100644
--- a/python/lassomod.c
+++ b/python/lassomod.c
@@ -53,6 +53,7 @@
#include "protocols/elements/py_assertion.h"
#include "protocols/elements/py_authentication_statement.h"
+#include "environs/py_federation_termination.h"
#include "environs/py_login.h"
#include "environs/py_logout.h"
#include "environs/py_server.h"
@@ -201,6 +202,14 @@ static PyMethodDef lasso_methods[] = {
{"authentication_statement_new", authentication_statement_new, METH_VARARGS},
/* environs */
+
+ /* py_federation_termination.h */
+ {"federation_termination_new", federation_termination_new, METH_VARARGS},
+ {"federation_termination_build_notification_msg", federation_termination_build_notification_msg, METH_VARARGS},
+ {"federation_termination_destroy", federation_termination_destroy, METH_VARARGS},
+ {"federation_termination_init_notification", federation_termination_init_notification, METH_VARARGS},
+ {"federation_termination_process_notification_msg", federation_termination_process_notification_msg, METH_VARARGS},
+
/* py_login.h */
{"login_getattr", login_getattr, METH_VARARGS},
{"login_new", login_new, METH_VARARGS},
diff --git a/python/setup.py b/python/setup.py
index ba1cf784..33bf5a35 100755
--- a/python/setup.py
+++ b/python/setup.py
@@ -184,10 +184,10 @@ extract_cflags(xmlsec1_cflags)
extract_libs(xmlsec1_libs)
# FIXME : cflags & libs for lasso
-include_dirs.append('..')
-library_dirs.append('../lasso/.libs')
-#include_dirs.append('/usr/local/include')
-#library_dirs.append('/usr/local/lib')
+#include_dirs.append('..')
+#library_dirs.append('../lasso/.libs')
+include_dirs.append('/usr/local/include')
+library_dirs.append('/usr/local/lib')
libraries.append('lasso')
em = Extension("lassomod",
@@ -216,6 +216,7 @@ em = Extension("lassomod",
"protocols/py_register_name_identifier_response.c",
"protocols/elements/py_assertion.c",
"protocols/elements/py_authentication_statement.c",
+ "environs/py_federation_termination.c",
"environs/py_login.c",
"environs/py_logout.c",
"environs/py_server.c",