From d63401a69a8bc5391ff6898c5278ddfa8da5f512 Mon Sep 17 00:00:00 2001 From: Johan Dahlin Date: Thu, 8 May 2008 23:38:50 +0000 Subject: Resurrect GIDL svn path=/trunk/; revision=269 --- giscanner/gidlwriter.py | 23 ++++++++++++----------- 1 file 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): -- cgit v1.2.1