diff options
author | Johan Dahlin <johan@src.gnome.org> | 2008-05-08 23:38:50 +0000 |
---|---|---|
committer | Johan Dahlin <johan@src.gnome.org> | 2008-05-08 23:38:50 +0000 |
commit | d63401a69a8bc5391ff6898c5278ddfa8da5f512 (patch) | |
tree | 259be2bdebfe5b8ca0eda9fbc3b443bc14c79b24 | |
parent | 870afacec8ba104daef3c1a23e42a3646d547633 (diff) | |
download | gobject-introspection-d63401a69a8bc5391ff6898c5278ddfa8da5f512.tar.gz |
Resurrect GIDL
svn path=/trunk/; revision=269
-rw-r--r-- | giscanner/gidlwriter.py | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/giscanner/gidlwriter.py b/giscanner/gidlwriter.py index d2c7b2f8..0cca2d27 100644 --- a/giscanner/gidlwriter.py +++ b/giscanner/gidlwriter.py @@ -27,17 +27,18 @@ from .xmlwriter import XMLWriter class GIDLWriter(XMLWriter): - def __init__(self, namespace, nodes): + def __init__(self, namespace): super(GIDLWriter, self).__init__() - self._write_api(namespace, nodes) + self._write_api(namespace) - def _write_api(self, namespace, nodes): + def _write_api(self, namespace): with self.tagcontext('api', [('version', '1.0')]): - self._write_namespace(namespace, nodes) + self._write_namespace(namespace) - def _write_namespace(self, namespace, nodes): - with self.tagcontext('namespace', [('name', namespace)]): - for node in nodes: + def _write_namespace(self, namespace): + attrs = [('name', namespace.name)] + with self.tagcontext('namespace', attrs): + for node in namespace.nodes: self._write_node(node) def _write_node(self, node): @@ -70,9 +71,9 @@ class GIDLWriter(XMLWriter): def _write_return_type(self, return_): if not return_: return - attrs = [('type', return_.ctype.name)] + attrs = [('type', return_.type.name)] if return_.transfer != 'none': - attrs.append(('transfer', return_.transfer)) + attrs.append(('transfer', str(int(return_.transfer)))) self.write_tag('return-type', attrs) def _write_parameters(self, parameters): @@ -87,8 +88,8 @@ class GIDLWriter(XMLWriter): ('type', parameter.type.name)] if parameter.direction != 'in': attrs.append(('direction', parameter.direction)) - if parameter.transfer != 'none': - attrs.append(('transfer', parameter.transfer)) + if parameter.transfer: + attrs.append(('transfer', str(int(parameter.transfer)))) self.write_tag('parameter', attrs) def _write_enum(self, enum): |