summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederic Peters <fpeters@entrouvert.com>2008-04-29 12:09:47 +0000
committerFrederic Peters <fpeters@entrouvert.com>2008-04-29 12:09:47 +0000
commit2fbda41c8e56176ece0848f5e8eddbe7edb213a4 (patch)
tree68880f6d369e5c38b4604be413162396436632c6
parentc9bc0833ff00432b31721ac8eed840646438b07b (diff)
[project @ fpeters@0d.be-20080406111623-pf8iq94lrfu2w2un]
extended the skip attribute to accept more values Original author: Frederic Peters <fpeters@0d.be> Date: 2008-04-06 13:16:23.574000+02:00
-rw-r--r--bindings/bindings.py18
-rw-r--r--bindings/overrides.xml16
2 files changed, 19 insertions, 15 deletions
diff --git a/bindings/bindings.py b/bindings/bindings.py
index 9e95789c..9f26cb2b 100644
--- a/bindings/bindings.py
+++ b/bindings/bindings.py
@@ -198,8 +198,14 @@ class Function:
self.return_owner = (func.attrib.get('return_owner') != 'false')
if func.attrib.get('return_type'):
self.return_type = func.attrib.get('return_type')
- if func.attrib.get('skip') == 'true':
- self.skip = True
+ if func.attrib.get('skip'):
+ skip = func.attrib.get('skip')
+ if skip == 'true':
+ self.skip = True
+ elif skip == 'unless-id-wsf' and not binding.options.idwsf:
+ self.skip = True
+ elif binding.options.language in skip.split(','):
+ self.skip = True
if func.attrib.get('return_type_qualifier'):
self.return_type_qualifier = func.attrib.get('return_type_qualifier')
for param in binding.overrides.findall('arg'):
@@ -401,7 +407,7 @@ def parse_header(header_file):
i += 1
-def parse_headers(srcdir, enable_idwsf):
+def parse_headers(srcdir):
wsf_prefixes = ['disco', 'dst', 'is', 'profile_service', 'discovery',
'wsf', 'interaction', 'utility', 'sa', 'soap', 'authentication',
'wsse', 'sec', 'idwsf2', 'wsf2', 'wsa', 'wsu']
@@ -413,7 +419,7 @@ def parse_headers(srcdir, enable_idwsf):
if not 'Makefile.am' in filenames:
# not a source dir
continue
- if not enable_idwsf and (base.endswith('/id-wsf') or \
+ if not binding.options.idwsf and (base.endswith('/id-wsf') or \
base.endswith('/id-wsf-2.0') or base.endswith('/ws')):
# ignore ID-WSF
continue
@@ -422,7 +428,7 @@ def parse_headers(srcdir, enable_idwsf):
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:
+ if not binding.options.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))
@@ -444,7 +450,7 @@ def main():
sys.exit(1)
binding = BindingData(options)
- parse_headers(options.srcdir, options.idwsf)
+ parse_headers(options.srcdir)
binding.look_for_docstrings(options.srcdir, options.exception_doc)
binding.order_class_hierarchy()
binding.attach_methods()
diff --git a/bindings/overrides.xml b/bindings/overrides.xml
index e7ac4908..e08a4d9d 100644
--- a/bindings/overrides.xml
+++ b/bindings/overrides.xml
@@ -154,15 +154,13 @@
<param name="security_mech_id" optional="true"/>
</func>
<func name="lasso_data_service_add_query_item" return_owner="false"/>
- <!-- Fonctions utilisant des types venant de la partie id-wsf de la librarie -->
- <func name="lasso_server_get_service" skip="true">
- </func>
- <func name="lasso_login_set_encryptedResourceId" skip="true">
- </func>
- <func name="lasso_node_new_from_dump" skip="true"/>
- <func name="lasso_node_new_from_soap" skip="true"/>
- <func name="lasso_node_new_from_xmlNode" skip="true"/>
- <func name="lasso_provider_new_from_dump" skip="true"/>
+
+ <func name="lasso_server_get_service" skip="unless-id-wsf" />
+ <func name="lasso_login_set_encryptedResourceId" skip="unless-id-wsf"/>
+ <func name="lasso_node_new_from_dump" skip="java"/>
+ <func name="lasso_node_new_from_soap" skip="java"/>
+ <func name="lasso_node_new_from_xmlNode" skip="java"/>
+ <func name="lasso_provider_new_from_dump" skip="java"/>
<func name="lasso_saml2_name_id_new_with_string" return_type="LassoSaml2NameID*"/>
<func name="lasso_saml2_action_new_with_string" return_type="LassoSaml2Action*"/>
<func name="lasso_misc_text_node_new_with_string" return_type="LassoMiscTextNode*"/>