aboutsummaryrefslogtreecommitdiffstats
path: root/tools/glib-errors-enum-body-gen.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/glib-errors-enum-body-gen.py')
-rw-r--r--tools/glib-errors-enum-body-gen.py62
1 files changed, 0 insertions, 62 deletions
diff --git a/tools/glib-errors-enum-body-gen.py b/tools/glib-errors-enum-body-gen.py
deleted file mode 100644
index 44863ee4c..000000000
--- a/tools/glib-errors-enum-body-gen.py
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/usr/bin/python
-
-import sys
-import xml.dom.minidom
-
-from libglibcodegen import NS_TP, camelcase_to_upper, get_docstring, \
- get_descendant_text
-
-class Generator(object):
- def __init__(self, dom):
- self.dom = dom
- self.errors = self.dom.getElementsByTagNameNS(NS_TP, 'errors')[0]
-
- def do_header(self):
- print '/* Generated from the Telepathy spec\n'
- copyrights = self.errors.getElementsByTagNameNS(NS_TP, 'copyright')
- for copyright in copyrights:
- print get_descendant_text(copyright)
- license = self.errors.getElementsByTagNameNS(NS_TP, 'license')[0]
- print '\n' + get_descendant_text(license) + '\n*/'
-
- def do_enum_values(self):
- for error in self.errors.getElementsByTagNameNS(NS_TP, 'error'):
- print ''
- nick = error.getAttribute('name').replace(' ', '')
- name = camelcase_to_upper(nick.replace('.', ''))
- ns = error.parentNode.getAttribute('namespace')
- enum = 'TP_ERROR_' + name
- print ' /* ' + ns + '.' + name
- print ' ' + get_docstring(error)
- print ' */'
- print ' { %s, "%s", "%s" },' % (enum, enum, nick)
-
-
- def do_get_type(self):
- print """
-#include <_gen/telepathy-errors.h>
-
-GType
-tp_error_get_type (void)
-{
- static GType etype = 0;
- if (G_UNLIKELY (etype == 0))
- {
- static const GEnumValue values[] = {"""
- self.do_enum_values()
- print """\
- };
-
- etype = g_enum_register_static ("TpError", values);
- }
- return etype;
-}
-"""
-
- def __call__(self):
- self.do_header()
- self.do_get_type()
-
-if __name__ == '__main__':
- argv = sys.argv[1:]
- Generator(xml.dom.minidom.parse(argv[0]))()