diff options
-rw-r--r-- | bindings/bindings.py | 3 | ||||
-rw-r--r-- | bindings/lang_python.py | 4 | ||||
-rw-r--r-- | bindings/overrides.xml | 1 |
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"/> |