summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bindings/bindings.py3
-rw-r--r--bindings/lang_python.py4
-rw-r--r--bindings/overrides.xml1
3 files changed, 5 insertions, 3 deletions
diff --git a/bindings/bindings.py b/bindings/bindings.py
index 958c3e38..b4d9c556 100644
--- a/bindings/bindings.py
+++ b/bindings/bindings.py
@@ -143,6 +143,7 @@ class Struct:
class Function:
return_type = None
+ return_type_qualifier = None
name = None
rename = None
args = None
@@ -178,6 +179,8 @@ class Function:
self.return_type = func.attrib.get('return_type')
if func.attrib.get('skip') == 'true':
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'):
arg_name = param.attrib.get('name')
arg_sub = param.attrib.get('substitute')
diff --git a/bindings/lang_python.py b/bindings/lang_python.py
index 116bc7e5..6db393c7 100644
--- a/bindings/lang_python.py
+++ b/bindings/lang_python.py
@@ -369,8 +369,6 @@ StringDict = dict
if self.is_pygobject(m.return_type):
print >> fd, ' t = _lasso.%s(self._cptr)' % function_name
print >> fd, ' return cptrToPy(t)'
- elif m.return_type in ('GList*', 'GHashTable*'):
- raise NotImplementedError
else:
print >> fd, ' return _lasso.%s(self._cptr)' % function_name
@@ -808,7 +806,7 @@ register_constants(PyObject *d)
else:
# Constructor so decrease refcount (it was incremented by PyGObjectPtr_New called
# in self.return_value
- self.return_value(fd, m.return_type, {})
+ self.return_value(fd, m.return_type, {'elem_type': m.return_type_qualifier})
if m.return_owner and self.is_pygobject(m.return_type):
print >> fd, ' if (return_value) g_object_unref(return_value);'
print >> fd, ' return return_pyvalue;'
diff --git a/bindings/overrides.xml b/bindings/overrides.xml
index 6ab2e0ae..04e68d33 100644
--- a/bindings/overrides.xml
+++ b/bindings/overrides.xml
@@ -24,6 +24,7 @@
<func name="lasso_wsf_profile_get_session" return_owner="false" />
<!-- LassoIdentity -->
<func name="lasso_identity_get_federation" return_owner="false" />
+ <func name="lasso_identity_get_svc_md_ids" return_type_qualifier="char*"/>
<!-- LassoServer -->
<func name="lasso_server_new">
<param name="metadata" optional="true"/>