Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/tutorius/service.py
diff options
context:
space:
mode:
Diffstat (limited to 'tutorius/service.py')
-rw-r--r--tutorius/service.py16
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()
+