diff options
Diffstat (limited to 'src/test/fakeLegacyService/fakeLegacyService.py')
-rw-r--r-- | src/test/fakeLegacyService/fakeLegacyService.py | 35 |
1 files changed, 24 insertions, 11 deletions
diff --git a/src/test/fakeLegacyService/fakeLegacyService.py b/src/test/fakeLegacyService/fakeLegacyService.py index 54d6b24..0eb3a6d 100644 --- a/src/test/fakeLegacyService/fakeLegacyService.py +++ b/src/test/fakeLegacyService/fakeLegacyService.py @@ -13,44 +13,53 @@ import dbus import dbus.service import dbus.mainloop.glib +BASE_PATH = 'fake.legacy.service' +OBJECT_PATH = '/some/legacy/path/6259504' + +command=sys.argv[1] +if command=='withObjectManager': + INTERFACE = BASE_PATH + '.LegacyInterface' +elif command=='noObjectManager': + INTERFACE = BASE_PATH + '.LegacyInterfaceNoObjectManager' + loop = gobject.MainLoop() dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) class FakeLegacyService(dbus.service.Object): def __init__(self, loop): - busName = dbus.service.BusName('fake.legacy.service.connection', bus = dbus.SessionBus()) - dbus.service.Object.__init__(self, busName, '/some/legacy/path/6259504') + busName = dbus.service.BusName(BASE_PATH + '.connection', bus = dbus.SessionBus()) + dbus.service.Object.__init__(self, busName, OBJECT_PATH) #self.properties = {'RestartReason': 1, 'ShutdownReason': 2, 'WakeUpReason' :3, 'BootMode' :4} self.ABus="" self.APath="" self.loop=loop - @dbus.service.method(dbus_interface='fake.legacy.service.Introspectable', out_signature = 's') + @dbus.service.method(dbus_interface=BASE_PATH + '.Introspectable', out_signature = 's') def Introspect(self): f = open('fake.legacy.service.xml', "r") text = f.read() return text - @dbus.service.method(dbus_interface='fake.legacy.service.LegacyInterface', in_signature = 'i', out_signature = 'ii') + @dbus.service.method(dbus_interface=INTERFACE, in_signature = 'i', out_signature = 'ii') def TestMethod(self, input): val1=input - 5 val2=input + 5 return val1, val2 - @dbus.service.method(dbus_interface='fake.legacy.service.LegacyInterface', out_signature = 'si') + @dbus.service.method(dbus_interface=INTERFACE, out_signature = 'si') def OtherTestMethod(self): greeting='Hello' identifier=42 return greeting, identifier - @dbus.service.method(dbus_interface='fake.legacy.service.LegacyInterface') + @dbus.service.method(dbus_interface=INTERFACE) def finish(self): self.loop.quit() return 0 class ObjectManager(dbus.service.Object): def __init__(self, loop): - busName = dbus.service.BusName('fake.legacy.service.connection', bus = dbus.SessionBus()) + busName = dbus.service.BusName(BASE_PATH + '.connection', bus = dbus.SessionBus()) dbus.service.Object.__init__(self, busName, '/') self.ABus="" self.APath="" @@ -60,11 +69,15 @@ class ObjectManager(dbus.service.Object): def GetManagedObjects(self): response = {} idict = {} - idict['fake.legacy.service.LegacyInterface'] = {} - idict['fake.legacy.service.Introspectable'] = {} - response['/some/legacy/path/6259504'] = idict + idict[INTERFACE] = {} + idict[BASE_PATH + '.Introspectable'] = {} + response[OBJECT_PATH] = idict return response nsm = FakeLegacyService(loop) -ObjectManager(loop) +if command=='withObjectManager': + ObjectManager(loop) + loop.run() + + |