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))
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)
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
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))
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()
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))
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)