def TryToDisconnect(self):
        global bus

        if "Connected" in self._AList:
            if self._AList["Connected"] == 0:
                return

        proxy_obj = bus.get_object("org.bluez", self._Path)
        dev = dbus.Interface(proxy_obj, "org.bluez.Device1")

        self._Screen._FootBar.UpdateNavText("Disconnecting")
        self._Screen._MsgBox.SetText("Disconnecting")
        self._Screen._MsgBox.Draw()
        self._Screen.SwapAndShow()

        try:
            dev.Disconnect()
        except Exception, e:
            err_name = e.get_dbus_name()
            if err_name == "org.freedesktop.DBus.Error.NoReply":
                self._Screen._MsgBox.SetText("DBus noreply")
            else:
                self._Screen._MsgBox.SetText("Disconnect failed")
            self._Screen._MsgBox.Draw()
            self._Screen.SwapAndShow()
    def TryConnect(self):
        global bus

        if self._PsIndex >= len(self._MyList):
            return

        cur_li = self._MyList[self._PsIndex]
        print(cur_li._Path)

        if "Connected" in cur_li._Atts:
            if cur_li._Atts["Connected"] == 1:
                return

        proxy_obj = bus.get_object("org.bluez", cur_li._Path)
        dev = dbus.Interface(proxy_obj, "org.bluez.Device1")

        self._Screen._FootBar.UpdateNavText("Connecting")
        self.ShowBox(MyLangManager.Tr("Connecting"))

        self._Leader._MyAgent.device_obj = dev
        self._Leader._MyAgent.dev_path = cur_li._Path

        try:
            dev.Pair(reply_handler=self._Leader._MyAgent.pair_reply,
                     error_handler=self._Leader._MyAgent.pair_error,
                     timeout=60000)
        except Exception, e:
            print(str(e))
Exemple #3
0
    def dev_connect(self, path):
        global BUS_NAME
        dev = dbus.Interface(bus.get_object(BUS_NAME, path),
                             "org.bluez.Device1")

        print("dev_connect %s" % path)
        try:
            dev.Connect()
        except Exception, e:
            print(str(e))
    def RegisterMyAgent(self):
        global AGENT_PATH, bus, devices, adapter

        capability = "KeyboardDisplay"
        self._MyAgent = BleAgent(bus, AGENT_PATH)
        self._MyAgent._Leader = self

        obj = bus.get_object(BUS_NAME, "/org/bluez")
        manager = dbus.Interface(obj, "org.bluez.AgentManager1")
        manager.RegisterAgent(AGENT_PATH, capability)
        print("BleAgent %s registered" % AGENT_PATH)
Exemple #5
0
 def RefreshDevices(self):
     global devices
     devices = {}
     proxy_obj = bus.get_object("org.bluez", "/")
     manager = dbus.Interface(proxy_obj,"org.freedesktop.DBus.ObjectManager")
     objects = manager.GetManagedObjects()
     for path, interfaces in objects.iteritems():
         if "org.bluez.Device1" in interfaces:
             devices[path] = interfaces["org.bluez.Device1"] ## like /org/bluez/hci0/dev_xx_xx_xx_yy_yy_yy
     
     self._Devices = devices
Exemple #6
0
 def TryToForget(self):
     global adapter
     proxy_obj = bus.get_object("org.bluez", self._Path)
     dev = dbus.Interface(proxy_obj, "org.bluez.Device1")
     
     self._Screen._MsgBox.SetText("Forgeting...")
     self._Screen._MsgBox.Draw()
     self._Screen.SwapAndShow()        
     
     try:
         adapter.RemoveDevice(dev)
     except Exception,e:
         print(str(e)) 
Exemple #7
0
 def TryToDisconnect(self):
     global bus
     
     if "Connected" in self._AList:
         if self._AList["Connected"] == 0:
             return
     
     proxy_obj = bus.get_object("org.bluez", self._Path)
     dev = dbus.Interface(proxy_obj, "org.bluez.Device1")
     
     self._Screen._FootBar.UpdateNavText("Disconnecting...")
     self._Screen._MsgBox.SetText("Disconnecting...")
     self._Screen._MsgBox.Draw()
     self._Screen.SwapAndShow()
     
     try:
         dev.Disconnect()
     except Exception,e:
         print(str(e))        
    def TryToForget(self):
        global adapter
        proxy_obj = bus.get_object("org.bluez", self._Path)
        dev = dbus.Interface(proxy_obj, "org.bluez.Device1")

        self._Screen._MsgBox.SetText("Forgeting")
        self._Screen._MsgBox.Draw()
        self._Screen.SwapAndShow()

        try:
            adapter.RemoveDevice(dev)
        except Exception, e:
            err_name = e.get_dbus_name()
            if err_name == "org.freedesktop.DBus.Error.NoReply":
                self._Screen._MsgBox.SetText("DBus noreply")
            else:
                self._Screen._MsgBox.SetText("Forget failed")

            self._Screen._MsgBox.Draw()
            self._Screen.SwapAndShow()
Exemple #9
0
 def TryConnect(self):
     global bus
     
     if self._PsIndex >= len(self._WirelessList):
         return
     
     cur_li = self._WirelessList[self._PsIndex]
     print(cur_li._Path)
     
     if "Connected" in cur_li._Atts:
         if cur_li._Atts["Connected"] == 1:
             return
     
     proxy_obj = bus.get_object("org.bluez", cur_li._Path)
     dev = dbus.Interface(proxy_obj, "org.bluez.Device1")
     
     self._Screen._FootBar.UpdateNavText("connecting...")
     self.ShowBox("connecting...")
     
     try:
         dev.Connect()
     except Exception,e:
         print(str(e))        
Exemple #10
0
 def set_trusted(self, path):
     global BUS_NAME
     props = dbus.Interface(bus.get_object(BUS_NAME, path),
                            "org.freedesktop.DBus.Properties")
     props.Set("org.bluez.Device1", "Trusted", True)