diff options
author | Will Thompson <will.thompson@collabora.co.uk> | 2009-05-26 16:20:22 +0100 |
---|---|---|
committer | Will Thompson <will.thompson@collabora.co.uk> | 2009-05-26 16:20:22 +0100 |
commit | 54b584287efbdc0f7dcd0c28b1b512b39ea6580b (patch) | |
tree | ce77f5d5f78bd821183488627dd0a49e8d9075e7 /tools/glib-errors-str-gen.py | |
parent | 5ef917be668821c1a166f43ae24ad3eb37d25bf3 (diff) | |
download | telepathy-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.py | 19 |
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)) |