summaryrefslogtreecommitdiffstats
path: root/bindings
diff options
context:
space:
mode:
authorFrederic Peters <fpeters@entrouvert.com>2008-04-29 12:03:05 +0000
committerFrederic Peters <fpeters@entrouvert.com>2008-04-29 12:03:05 +0000
commit28d68b66dd1d83dd4aae531979375f632f1b4bb0 (patch)
tree6fdbc06921a7d7e007bf018f779d748c5488e232 /bindings
parent33ad521be0eb8a6fc1c64e2839a3d217d29ab8dc (diff)
downloadlasso-28d68b66dd1d83dd4aae531979375f632f1b4bb0.tar.gz
lasso-28d68b66dd1d83dd4aae531979375f632f1b4bb0.tar.xz
lasso-28d68b66dd1d83dd4aae531979375f632f1b4bb0.zip
[project @ fpeters@0d.be-20071010133236-j76dbt8kh1gojsz2]
build without ID-WSF support by default, adding a --enable-id-wsf parameter to enable it. Also some generated C cleaning. Original author: Frederic Peters <fpeters@0d.be> Date: 2007-10-10 15:32:36.162000+02:00
Diffstat (limited to 'bindings')
-rw-r--r--bindings/bindings.py15
-rw-r--r--bindings/lang_python.py8
-rw-r--r--bindings/lang_python_wrapper_bottom.c4
-rw-r--r--bindings/lang_python_wrapper_top.c1
4 files changed, 18 insertions, 10 deletions
diff --git a/bindings/bindings.py b/bindings/bindings.py
index dcfb718c..bbcbf62f 100644
--- a/bindings/bindings.py
+++ b/bindings/bindings.py
@@ -276,7 +276,11 @@ def parse_header(header_file):
i += 1
-def parse_headers(srcdir):
+def parse_headers(srcdir, enable_idwsf):
+ wsf_prefixes = ['disco', 'dst', 'is', 'profile_service', 'discovery',
+ 'wsf', 'interaction', 'utility', 'sa', 'soap', 'authentication',
+ 'wsse', 'sec', 'ds', 'idwsf2', 'wsf2', 'wsa', 'wsu']
+
for base, dirnames, filenames in os.walk(srcdir):
if base.endswith('/.svn'):
# ignore svn directories
@@ -284,11 +288,17 @@ def parse_headers(srcdir):
if not 'Makefile.am' in filenames:
# not a source dir
continue
+ if not enable_idwsf and (base.endswith('/id-wsf') or \
+ base.endswith('/id-wsf-2.0') or base.endswith('/ws')):
+ # ignore ID-WSF
+ continue
makefile_am = open(os.path.join(base, 'Makefile.am')).read()
filenames = [x for x in filenames if x.endswith('.h') if x in makefile_am]
for filename in filenames:
if filename == 'lasso_config.h' or 'private' in filename:
continue
+ if not enable_idwsf and filename.split('_')[0] in wsf_prefixes:
+ continue
binding.headers.append(os.path.join(base, filename)[3:])
parse_header(os.path.join(base, filename))
binding.headers.insert(0, 'lasso/xml/saml-2.0/saml2_assertion.h')
@@ -300,6 +310,7 @@ def main():
parser = OptionParser()
parser.add_option('-l', '--language', dest = 'language')
parser.add_option('-s', '--src-dir', dest = 'srcdir', default = '../lasso/')
+ parser.add_option('--enable-id-wsf', dest = 'idwsf', action = 'store_true')
options, args = parser.parse_args()
if not options.language:
@@ -307,7 +318,7 @@ def main():
sys.exit(1)
binding = BindingData()
- parse_headers(options.srcdir)
+ parse_headers(options.srcdir, options.idwsf)
binding.look_for_docstrings(options.srcdir)
binding.order_class_hierarchy()
binding.attach_methods()
diff --git a/bindings/lang_python.py b/bindings/lang_python.py
index e7234630..85bc789a 100644
--- a/bindings/lang_python.py
+++ b/bindings/lang_python.py
@@ -412,7 +412,8 @@ register_constants(PyObject *d)
self.wrapper_list.append('%s_%s_get' % (klassname[5:], mname))
print >> fd, ' %s return_value;' % m[0]
- print >> fd, ' PyObject* return_pyvalue;'
+ if m[0] != 'gboolean':
+ print >> fd, ' PyObject* return_pyvalue;'
print >> fd, ' PyGObjectPtr* cvt_this;'
print >> fd, ' %s* this;' % klassname
print >> fd, ''
@@ -451,13 +452,11 @@ register_constants(PyObject *d)
print >> fd, ' %s value;' % arg_type
elif arg_type == 'GList*':
parse_format = 'O'
- print >> fd, ' %s value;' % arg_type
print >> fd, ' PyObject *cvt_value;'
print >> fd, ' int i, l;'
parse_arg = '&cvt_value'
else:
parse_format = 'O'
- print >> fd, ' %s value;' % arg_type
print >> fd, ' PyGObjectPtr *cvt_value;'
parse_arg = '&cvt_value'
@@ -625,7 +624,8 @@ register_constants(PyObject *d)
if m.return_type:
print >> fd, ' %s return_value;' % m.return_type
- print >> fd, ' PyObject* return_pyvalue;'
+ if m.return_type != 'gboolean':
+ print >> fd, ' PyObject* return_pyvalue;'
print >> fd, ''
parse_tuple_args = ', '.join(parse_tuple_args)
diff --git a/bindings/lang_python_wrapper_bottom.c b/bindings/lang_python_wrapper_bottom.c
index 82e74ecc..51de44b0 100644
--- a/bindings/lang_python_wrapper_bottom.c
+++ b/bindings/lang_python_wrapper_bottom.c
@@ -10,13 +10,9 @@ init_lasso(void)
d = PyModule_GetDict(m);
register_constants(d);
- lasso_init();
-
lasso_wrapper_key = g_quark_from_static_string("PyLasso::wrapper");
Py_INCREF(&PyGObjectPtrType);
PyModule_AddObject(m, "PyGObjectPtr", (PyObject *)&PyGObjectPtrType);
-
-
}
diff --git a/bindings/lang_python_wrapper_top.c b/bindings/lang_python_wrapper_top.c
index 740ecadf..48ecc927 100644
--- a/bindings/lang_python_wrapper_top.c
+++ b/bindings/lang_python_wrapper_top.c
@@ -4,6 +4,7 @@
GQuark lasso_wrapper_key;
+PyMODINIT_FUNC init_lasso(void);
typedef struct {
PyObject_HEAD