diff options
author | David Zeuthen <davidz@redhat.com> | 2011-02-14 07:28:03 -0500 |
---|---|---|
committer | David Zeuthen <davidz@redhat.com> | 2011-02-14 07:28:03 -0500 |
commit | 9d6b94176c5a128d98444206bc4d5eb37543e5e6 (patch) | |
tree | 451c57150d9200d58ecc9a47849bc968690dc28f | |
parent | 55f2c2cbc44b45150be7d1d8a257b5823ebba902 (diff) |
Support org.gtk.GDBus.Name annotation
Signed-off-by: David Zeuthen <davidz@redhat.com>
-rw-r--r-- | src/codegen.py | 1 | ||||
-rw-r--r-- | src/dbustypes.py | 25 | ||||
-rw-r--r-- | src/org.project.xml | 2 |
3 files changed, 23 insertions, 5 deletions
diff --git a/src/codegen.py b/src/codegen.py index 9f36129..e306e93 100644 --- a/src/codegen.py +++ b/src/codegen.py @@ -2308,5 +2308,4 @@ def codegen_main(): sys.exit(codegen.generate()) if __name__ == "__main__": - print "foo" codegen_main() diff --git a/src/dbustypes.py b/src/dbustypes.py index 89ae810..f903eb2 100644 --- a/src/dbustypes.py +++ b/src/dbustypes.py @@ -154,7 +154,12 @@ class Method: self.annotations = [] def calculate_c_names(self, strip_prefix, namespace): - self.name_lower = utils.camel_case_to_uscore(self.name).lower() + name = self.name + overridden_name = utils.lookup_annotation(self.annotations, 'org.gtk.GDBus.Name') + if overridden_name: + name = overridden_name + + self.name_lower = utils.camel_case_to_uscore(name).lower().replace('-', '_') self.name_hyphen = self.name_lower.replace('_', '-') for a in self.in_args: @@ -183,7 +188,12 @@ class Signal: self.annotations = [] def calculate_c_names(self, strip_prefix, namespace): - self.name_lower = utils.camel_case_to_uscore(self.name).lower() + name = self.name + overridden_name = utils.lookup_annotation(self.annotations, 'org.gtk.GDBus.Name') + if overridden_name: + name = overridden_name + + self.name_lower = utils.camel_case_to_uscore(name).lower().replace('-', '_') self.name_hyphen = self.name_lower.replace('_', '-') #print ' --- signal' #print ' name: ' + self.name @@ -213,7 +223,12 @@ class Property: raise RuntimeError('Invalid access type %s'%self.access) def calculate_c_names(self, strip_prefix, namespace): - self.name_lower = utils.camel_case_to_uscore(self.name).lower() + name = self.name + overridden_name = utils.lookup_annotation(self.annotations, 'org.gtk.GDBus.Name') + if overridden_name: + name = overridden_name + + self.name_lower = utils.camel_case_to_uscore(name).lower().replace('-', '_') self.name_hyphen = self.name_lower.replace('_', '-') #print ' --- property' #print ' name: ' + self.name @@ -236,6 +251,10 @@ class Interface: def calculate_c_names(self, strip_prefix, namespace): s = self.name + overridden_name = utils.lookup_annotation(self.annotations, 'org.gtk.GDBus.Name') + if overridden_name: + s = overridden_name + if s.startswith(strip_prefix): s = s[len(strip_prefix):] s = utils.strip_dots(s) diff --git a/src/org.project.xml b/src/org.project.xml index ecee295..754b142 100644 --- a/src/org.project.xml +++ b/src/org.project.xml @@ -123,7 +123,7 @@ <!-- force various names --> <interface name="com.acme.Rocket"> <!-- Forcing the typename via an annotation --> - <annotation name="org.gtk.GDBus.Name" value="Rocket"/> + <annotation name="org.gtk.GDBus.Name" value="Rocket123"/> <!-- ditto method --> <method name="Ignite"> |