Example #1
0
class MyBluetooth():
    def __init__(self,
                 adapter_removed_cb=None,
                 default_adapter_changed_cb=None,
                 device_found_cb=None):
        self.__adapter_removed_cb = adapter_removed_cb
        self.__default_adapter_changed_cb = default_adapter_changed_cb

        self.manager = Manager()
        if self.__adapter_removed_cb:
            self.manager.connect("adapter-removed", self.__adapter_removed)
        if self.__default_adapter_changed_cb:
            self.manager.connect("default-adapter-changed", self.__default_adapter_changed)
        self.adapter = None
        self.default_adapter = self.manager.get_default_adapter()

        if self.default_adapter != "None":
            self.adapter = Adapter(self.default_adapter)
            # self.adapter.set_powered(True)
            self.adapter.set_discoverable(False)
            self.adapter.set_pairable(True)
            if device_found_cb:
                self.adapter.connect("device-found", device_found_cb)

    def get_devices(self):
        ret = []

        if self.adapter == None:
            return ret

        devices = self.adapter.get_devices()
        i = 0
        ret = []

        while i < len(devices):
            ret.append(Device(devices[i]))
            i += 1

        return ret

    def register_agent(self, agent_path):
        if self.adapter:
            try:
                self.adapter.register_agent(agent_path, "")
            except Exception,e:
                print e