From b75c9dfe1be2681b0867ee28f96adc542fa3122a Mon Sep 17 00:00:00 2001 From: "chengtao.liu" Date: Mon, 24 Mar 2014 15:42:51 +0800 Subject: [PATCH] update the dbus implmentation --- testkit-lite-dbus | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) mode change 100644 => 100755 testkit-lite-dbus diff --git a/testkit-lite-dbus b/testkit-lite-dbus old mode 100644 new mode 100755 index c3ef00e..c0c4f5c --- a/testkit-lite-dbus +++ b/testkit-lite-dbus @@ -17,16 +17,19 @@ # Yuanyuan,Zou """ 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 -- 2.7.4