summaryrefslogtreecommitdiff
path: root/tools/glib-errors-str-gen.py
diff options
context:
space:
mode:
authorWill Thompson <will.thompson@collabora.co.uk>2009-05-26 16:20:22 +0100
committerWill Thompson <will.thompson@collabora.co.uk>2009-05-26 16:20:22 +0100
commit54b584287efbdc0f7dcd0c28b1b512b39ea6580b (patch)
treece77f5d5f78bd821183488627dd0a49e8d9075e7 /tools/glib-errors-str-gen.py
parent5ef917be668821c1a166f43ae24ad3eb37d25bf3 (diff)
downloadtelepathy-glib-54b584287efbdc0f7dcd0c28b1b512b39ea6580b.tar.gz
Generate tp_error_get_dbus_name
Diffstat (limited to 'tools/glib-errors-str-gen.py')
-rw-r--r--tools/glib-errors-str-gen.py19
1 files changed, 18 insertions, 1 deletions
diff --git a/tools/glib-errors-str-gen.py b/tools/glib-errors-str-gen.py
index ab7e87388..c15889a51 100644
--- a/tools/glib-errors-str-gen.py
+++ b/tools/glib-errors-str-gen.py
@@ -23,10 +23,19 @@ class Generator(object):
def __call__(self):
errors = self.errors.getElementsByTagNameNS(NS_TP, 'error')
+ self.b('#include <telepathy-glib/errors.h>')
+ self.b('')
+ self.b('const gchar *')
+ self.b('tp_error_get_dbus_name (TpError error)')
+ self.b('{')
+ self.b(' switch (error)')
+ self.b(' {')
+
for error in errors:
ns = error.parentNode.getAttribute('namespace')
nick = error.getAttribute('name').replace(' ', '')
- name = 'TP_ERROR_STR_' + camelcase_to_upper(nick.replace('.', ''))
+ uc_nick = camelcase_to_upper(nick.replace('.', ''))
+ name = 'TP_ERROR_STR_' + uc_nick
error_name = '%s.%s' % (ns, nick)
self.h('')
@@ -39,6 +48,14 @@ class Generator(object):
self.h(' */')
self.h('#define %s "%s"' % (name, error_name))
+ self.b(' case TP_ERROR_%s:' % uc_nick)
+ self.b(' return %s;' % name)
+
+ self.b(' default:')
+ self.b(' g_return_val_if_reached (NULL);')
+ self.b(' }')
+ self.b('}')
+
open(self.basename + '.h', 'w').write('\n'.join(self.__header))
open(self.basename + '.c', 'w').write('\n'.join(self.__body))