diff options
author | Frederic Peters <fpeters@entrouvert.com> | 2008-04-29 12:03:05 +0000 |
---|---|---|
committer | Frederic Peters <fpeters@entrouvert.com> | 2008-04-29 12:03:05 +0000 |
commit | 28d68b66dd1d83dd4aae531979375f632f1b4bb0 (patch) | |
tree | 6fdbc06921a7d7e007bf018f779d748c5488e232 /bindings | |
parent | 33ad521be0eb8a6fc1c64e2839a3d217d29ab8dc (diff) | |
download | lasso-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.py | 15 | ||||
-rw-r--r-- | bindings/lang_python.py | 8 | ||||
-rw-r--r-- | bindings/lang_python_wrapper_bottom.c | 4 | ||||
-rw-r--r-- | bindings/lang_python_wrapper_top.c | 1 |
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 |