Mercurial > libervia-backend
comparison src/bridge/bridge_constructor/dbus_core_template.py @ 298:15c8916317d0
dbus bridge: added doc parameter, unmanaged yet
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 20 Feb 2011 17:21:03 +0100 |
parents | c25371424090 |
children | e044d1dc37d1 |
comparison
equal
deleted
inserted
replaced
297:c5554e2939dd | 298:15c8916317d0 |
---|---|
82 if opening_count == 0: | 82 if opening_count == 0: |
83 break | 83 break |
84 i+=1 | 84 i+=1 |
85 return attr_string | 85 return attr_string |
86 | 86 |
87 def addMethod(self, name, int_suffix, in_sign, out_sign): | 87 def addMethod(self, name, int_suffix, in_sign, out_sign, doc={}): |
88 """Dynamically add a method to Dbus Bridge""" | 88 """Dynamically add a method to Dbus Bridge""" |
89 #FIXME: Better way ??? | 89 #FIXME: Better way ??? |
90 attributes = self.__attribute_string(in_sign) | 90 attributes = self.__attribute_string(in_sign) |
91 | 91 |
92 code = compile ('def '+name+' (self,'+attributes+'): return self.cb["'+name+'"]('+attributes+')', '<DBus bridge>','exec') | 92 code = compile ('def '+name+' (self,'+attributes+'): return self.cb["'+name+'"]('+attributes+')', '<DBus bridge>','exec') |
96 const_INT_PREFIX+int_suffix, in_signature=in_sign, out_signature=out_sign)(method)) | 96 const_INT_PREFIX+int_suffix, in_signature=in_sign, out_signature=out_sign)(method)) |
97 function = getattr(self, name) | 97 function = getattr(self, name) |
98 func_table = self._dbus_class_table[self.__class__.__module__ + '.' + self.__class__.__name__][function._dbus_interface] | 98 func_table = self._dbus_class_table[self.__class__.__module__ + '.' + self.__class__.__name__][function._dbus_interface] |
99 func_table[function.__name__] = function #Needed for introspection | 99 func_table[function.__name__] = function #Needed for introspection |
100 | 100 |
101 def addSignal(self, name, int_suffix, signature): | 101 def addSignal(self, name, int_suffix, signature, doc={}): |
102 """Dynamically add a signal to Dbus Bridge""" | 102 """Dynamically add a signal to Dbus Bridge""" |
103 #FIXME: Better way ??? | 103 #FIXME: Better way ??? |
104 attributes = self.__attribute_string(signature) | 104 attributes = self.__attribute_string(signature) |
105 | 105 |
106 code = compile ('def '+name+' (self,'+attributes+'): debug ("'+name+' signal")', '<DBus bridge>','exec') | 106 code = compile ('def '+name+' (self,'+attributes+'): debug ("'+name+' signal")', '<DBus bridge>','exec') |
125 | 125 |
126 def register(self, name, callback): | 126 def register(self, name, callback): |
127 debug("registering DBus bridge method [%s]", name) | 127 debug("registering DBus bridge method [%s]", name) |
128 self.dbus_bridge.register(name, callback) | 128 self.dbus_bridge.register(name, callback) |
129 | 129 |
130 def addMethod(self, name, int_suffix, in_sign, out_sign, method): | 130 def addMethod(self, name, int_suffix, in_sign, out_sign, method, doc={}): |
131 """Dynamically add a method to Dbus Bridge""" | 131 """Dynamically add a method to Dbus Bridge""" |
132 print ("Adding method [%s] to DBus bridge" % name) | 132 print ("Adding method [%s] to DBus bridge" % name) |
133 self.dbus_bridge.addMethod(name, int_suffix, in_sign, out_sign) | 133 self.dbus_bridge.addMethod(name, int_suffix, in_sign, out_sign) |
134 self.register(name, method) | 134 self.register(name, method) |
135 | 135 |
136 def addSignal(self, name, int_suffix, signature): | 136 def addSignal(self, name, int_suffix, signature, doc={}): |
137 self.dbus_bridge.addSignal(name, int_suffix, signature) | 137 self.dbus_bridge.addSignal(name, int_suffix, signature) |
138 setattr(DBusBridge, name, getattr(self.dbus_bridge, name)) | 138 setattr(DBusBridge, name, getattr(self.dbus_bridge, name)) |
139 | 139 |