summaryrefslogtreecommitdiff
path: root/tools/glib-gtypes-generator.py
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2007-09-06 18:36:38 +0000
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2007-09-06 18:36:38 +0000
commit642e0e3dfb7c6f8af0a5fea108d31015ced0ccb4 (patch)
tree5c0a9da7bb1f11cde40d87b92a281262660e2759 /tools/glib-gtypes-generator.py
parent577ba25bbfcf9d496737908d2d5203faeee5bbfc (diff)
downloadtelepathy-glib-642e0e3dfb7c6f8af0a5fea108d31015ced0ccb4.tar.gz
Document generated macros
20070906183638-53eee-cdcf911a1f6fa71a6c218ff7be7580161fece38a.gz
Diffstat (limited to 'tools/glib-gtypes-generator.py')
-rw-r--r--tools/glib-gtypes-generator.py37
1 files changed, 34 insertions, 3 deletions
diff --git a/tools/glib-gtypes-generator.py b/tools/glib-gtypes-generator.py
index b36bf478c..1b34c081b 100644
--- a/tools/glib-gtypes-generator.py
+++ b/tools/glib-gtypes-generator.py
@@ -82,6 +82,20 @@ class GTypesGenerator(object):
name = (self.PREFIX_ + 'HASH_TYPE_' +
mapping.getAttribute('name').upper())
impl = self.prefix_ + 'type_dbus_hash_' + esc_impl_sig
+
+ docstring = mapping.getElementsByTagNameNS(NS_TP, 'docstring')
+ if docstring:
+ docstring = docstring[0].toprettyxml()
+ if docstring.startswith('<tp:docstring>'):
+ docstring = docstring[14:]
+ if docstring.endswith('</tp:docstring>\n'):
+ docstring = docstring[:-16]
+ self.header.write('/**\n * %s:\n\n' % name)
+ self.header.write(' * <![CDATA[%s]]>\n' % docstring)
+ self.header.write(' * This macro expands to a call to a function\n')
+ self.header.write(' * that returns a GType.\n')
+ self.header.write(' */\n')
+
self.header.write('#define %s (%s ())\n\n' % (name, impl))
self.need_mappings[impl_sig] = esc_impl_sig
@@ -94,13 +108,30 @@ class GTypesGenerator(object):
name = (self.PREFIX_ + 'STRUCT_TYPE_' +
struct.getAttribute('name').upper())
impl = self.prefix_ + 'type_dbus_struct_' + esc_impl_sig
+ docstring = struct.getElementsByTagNameNS(NS_TP, 'docstring')
+ if docstring:
+ docstring = docstring[0].toprettyxml()
+ if docstring.startswith('<tp:docstring>'):
+ docstring = docstring[14:]
+ if docstring.endswith('</tp:docstring>\n'):
+ docstring = docstring[:-16]
+ self.header.write('/**\n * %s:\n\n' % name)
+ self.header.write(' * <![CDATA[%s]]>\n' % docstring)
+ self.header.write(' * This macro expands to a call to a function\n')
+ self.header.write(' * that returns a GType.\n')
+ self.header.write(' */\n')
self.header.write('#define %s (%s ())\n\n' % (name, impl))
- name = (struct.getAttribute('array-name')
+ array_name = (struct.getAttribute('array-name')
or (struct.getAttribute('name') + '_LIST'))
- name = (self.PREFIX_ + 'ARRAY_TYPE_' + name.upper())
+ array_name = (self.PREFIX_ + 'ARRAY_TYPE_' + array_name.upper())
impl = self.prefix_ + 'type_dbus_array_' + esc_impl_sig
- self.header.write('#define %s (%s ())\n\n' % (name, impl))
+ self.header.write('/**\n * %s:\n\n' % array_name)
+ self.header.write(' * An array of #%s.\n' % name)
+ self.header.write(' * This macro expands to a call to a function\n')
+ self.header.write(' * that returns a GType.\n')
+ self.header.write(' */\n')
+ self.header.write('#define %s (%s ())\n\n' % (array_name, impl))
self.need_structs[impl_sig] = esc_impl_sig