[docs]class Service():
def __init__(self, name, path=None, interface=None):
self.name = name
self.path = path or '/'
self.interface = interface or name
self.attrs = {}
self.methods = {}
self.signals = {}
[docs] def get(self, attr_name, getter, outs):
attr = self.attrs.get(attr_name, {})
attr['getter'] = getter
attr['outs'] = outs
self.attrs[attr_name] = attr
[docs] def set(self, attr_name, setter, ins):
attr = self.attrs.get(attr_name, {})
attr['setter'] = setter
attr['ins'] = ins
self.attrs[attr_name] = attr
[docs] def method(self, name, method, ins=None, outs=None):
self.methods[name] = {
'method': method,
'ins': ins,
'outs': outs
}
[docs] def signal(self, name, outs):
self.signals[name] = {
'outs': outs
}
[docs] def export(self, bus, loop=None):
print(bus.connect(loop))