update the dbus implmentation
authorchengtao.liu <chengtaox.liu@intel.com>
Mon, 24 Mar 2014 07:42:51 +0000 (15:42 +0800)
committerchengtao.liu <chengtaox.liu@intel.com>
Mon, 24 Mar 2014 07:42:51 +0000 (15:42 +0800)
testkit-lite-dbus [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index c3ef00e..c0c4f5c
 #              Yuanyuan,Zou  <yuanyuanx.zou@intel.com>
 """ testkit dbus service"""
 
+import sys
 import dbus
 import dbus.service
 from dbus.mainloop.glib import DBusGMainLoop
 import gobject
-import gtk
 
-class deviceMgr(dbus.service.Object):
-    def __init__(self):
-        bus_name = dbus.service.BusName('com.intel.testkit', bus=dbus.SessionBus())
-        dbus.service.Object.__init__(self, bus_name, "/com/intel/testkit/devices")
+
+class DeviceKeeper(dbus.service.Object):
+    """
+    testkit dbus service implementation
+    """
+
+    def init(self):
         self._devices = []
 
     @dbus.service.method(dbus_interface="com.intel.testkit", in_signature="s", out_signature="b")
@@ -43,8 +46,16 @@ class deviceMgr(dbus.service.Object):
             self._devices.remove(device_id)
         return None
 
-DBusGMainLoop(set_as_default=True)
-gobject.threads_init()
-device_mgr = deviceMgr()
-loop = gobject.MainLoop()
-loop.run()
\ No newline at end of file
+
+if __name__ == '__main__':
+    DBusGMainLoop(set_as_default=True)
+    gobject.threads_init()
+    bus = dbus.SessionBus()
+    if bus.name_has_owner('com.intel.testkit'):
+        print 'An instance of testkit service is running!'
+        sys.exit()
+    bus_name = dbus.service.BusName('com.intel.testkit', bus)
+    t_object = DeviceKeeper(bus_name, "/com/intel/testkit/devices")
+    t_object.init()
+    loop = gobject.MainLoop()
+    loop.run()
\ No newline at end of file