diff options
Diffstat (limited to 'tutorius/service.py')
-rw-r--r-- | tutorius/service.py | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/tutorius/service.py b/tutorius/service.py index 1393269..61c6526 100644 --- a/tutorius/service.py +++ b/tutorius/service.py @@ -2,7 +2,7 @@ from engine import Engine import dbus _DBUS_SERVICE = "org.tutorius.Service" -_DBUS_PATH = "org/tutorius/Service" +_DBUS_PATH = "/org/tutorius/Service" _DBUS_SERVICE_IFACE = "org.tutorius.Service" class Service(dbus.service.Object): @@ -15,7 +15,7 @@ class Service(dbus.service.Object): bus_name = dbus.service.BusName(_DBUS_SERVICE, bus=bus) dbus.service.Object.__init__(self, bus_name, _DBUS_PATH) - self._engine = Engine() + self._engine = None def start(self): """ Start the service itself @@ -30,6 +30,8 @@ class Service(dbus.service.Object): """ Launch a tutorial @param tutorialID unique tutorial identifier used to retrieve it from the disk """ + if self._engine == None: + self._engine = Engine() self._engine.launch(tutorialID) @dbus.service.method(_DBUS_SERVICE_IFACE, @@ -62,3 +64,13 @@ class ServiceProxy: def pause(self): self._service.pause() + +if __name__ == "__main__": + import dbus.mainloop.glib + import gobject + + loop = gobject.MainLoop() + dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) + s = Service() + loop.run() + |