[Telepathy-commits] [telepathy-glib/master] tools/: raise errors when tp:name-for-bindings is missing
Simon McVittie
simon.mcvittie at collabora.co.uk
Mon Jan 19 07:25:11 PST 2009
Previously these scripts would just generate bad code.
---
tools/glib-client-gen.py | 12 ++++++++++--
tools/glib-ginterface-gen.py | 30 ++++++++++++++++++++++++++----
2 files changed, 36 insertions(+), 6 deletions(-)
diff --git a/tools/glib-client-gen.py b/tools/glib-client-gen.py
index 826f955..a3714f1 100644
--- a/tools/glib-client-gen.py
+++ b/tools/glib-client-gen.py
@@ -78,7 +78,11 @@ class Generator(object):
iface_lc = iface.lower()
member = signal.getAttribute('name')
- member_lc = signal.getAttribute('tp:name-for-bindings').lower()
+ member_lc = signal.getAttribute('tp:name-for-bindings')
+ if member != member_lc.replace('_', ''):
+ raise AssertionError('Signal %s tp:name-for-bindings (%s) does '
+ 'not match' % (member, member_lc))
+ member_lc = member_lc.lower()
member_uc = member_lc.upper()
arg_count = 0
@@ -358,7 +362,11 @@ class Generator(object):
iface_lc = iface.lower()
member = method.getAttribute('name')
- member_lc = method.getAttribute('tp:name-for-bindings').lower()
+ member_lc = method.getAttribute('tp:name-for-bindings')
+ if member != member_lc.replace('_', ''):
+ raise AssertionError('Method %s tp:name-for-bindings (%s) does '
+ 'not match' % (member, member_lc))
+ member_lc = member_lc.lower()
member_uc = member_lc.upper()
in_count = 0
diff --git a/tools/glib-ginterface-gen.py b/tools/glib-ginterface-gen.py
index 6aa8f2b..8e84a61 100644
--- a/tools/glib-ginterface-gen.py
+++ b/tools/glib-ginterface-gen.py
@@ -338,7 +338,11 @@ class Generator(object):
return ''.join(info) + '\0', offsets
def do_method_glue(self, method, offset):
- lc_name = method.getAttribute('tp:name-for-bindings').lower()
+ lc_name = method.getAttribute('tp:name-for-bindings')
+ if method.getAttribute('name') != lc_name.replace('_', ''):
+ raise AssertionError('Method %s tp:name-for-bindings (%s) does '
+ 'not match' % (method.getAttribute('name'), lc_name))
+ lc_name = lc_name.lower()
marshaller = method_to_glue_marshal_name(method,
self.signal_marshal_prefix)
@@ -360,7 +364,13 @@ class Generator(object):
def get_method_impl_names(self, method):
dbus_method_name = method.getAttribute('name')
- class_member_name = method.getAttribute('tp:name-for-bindings').lower()
+
+ class_member_name = method.getAttribute('tp:name-for-bindings')
+ if dbus_method_name != class_member_name.replace('_', ''):
+ raise AssertionError('Method %s tp:name-for-bindings (%s) does '
+ 'not match' % (dbus_method_name, class_member_name))
+ class_member_name = class_member_name.lower()
+
stub_name = (self.prefix_ + self.node_name_lc + '_' +
class_member_name)
return (stub_name + '_impl', class_member_name)
@@ -375,7 +385,12 @@ class Generator(object):
# DoStuff
dbus_method_name = method.getAttribute('name')
# do_stuff
- class_member_name = method.getAttribute('tp:name-for-bindings').lower()
+ class_member_name = method.getAttribute('tp:name-for-bindings')
+ if dbus_method_name != class_member_name.replace('_', ''):
+ raise AssertionError('Method %s tp:name-for-bindings (%s) does '
+ 'not match' % (dbus_method_name, class_member_name))
+ class_member_name = class_member_name.lower()
+
# void tp_svc_thing_do_stuff (TpSvcThing *, const char *, guint,
# DBusGMethodInvocation *);
stub_name = (self.prefix_ + self.node_name_lc + '_' +
@@ -536,8 +551,15 @@ class Generator(object):
# const char *arg0, guint arg1);
dbus_name = signal.getAttribute('name')
+
+ ugly_name = signal.getAttribute('tp:name-for-bindings')
+ if dbus_name != ugly_name.replace('_', ''):
+ raise AssertionError('Signal %s tp:name-for-bindings (%s) does '
+ 'not match' % (dbus_name, ugly_name))
+
stub_name = (self.prefix_ + self.node_name_lc + '_emit_' +
- signal.getAttribute('tp:name-for-bindings').lower())
+ ugly_name.lower())
+
const_name = self.get_signal_const_entry(signal)
# Gather arguments
--
1.5.6.5
More information about the Telepathy-commits
mailing list