Beispiel #1
0
 def __init__(self):
     self.context = Context()
     self.monitor = None
     
     self.dbus = DBUSThread()
     self.dbus.start()
     self.tell_about_devices()
     print "Done."
Beispiel #2
-1
class SCODDaemon:
    def __init__(self):
        self.context = Context()
        self.monitor = None
        
        self.dbus = DBUSThread()
        self.dbus.start()
        self.tell_about_devices()
        print "Done."

    def __del__(self):
        self.dbus.stop()

    def start_listen(self):
        self.monitor = Monitor.from_netlink(self.context)
        for action, device in self.monitor:
            self._new_device(action, device)

    def _new_device(self, act, dev):
        if act != 'add':
            return
    
        time.sleep(0.1)
        if ('MODALIAS' not in dev.keys()):
            return

        d = SCODDevice(dev)
        if ( d.isOurDevice() ):
            self.dbus.tell_about_new_device(d)
    
    def tell_about_devices(self):
        print "DBUS is %s" % self.dbus.isAlive()
        for dev in self.context.list_devices():
            d = SCODDevice(dev)
            if ( d.isOurDevice() ):
                self.dbus.tell_about_new_device(d)
    def stop(self):
        self.dbus.stop()