# Path: kano_settings/system/bt/dbus_tools.py
# BUS = dbus.SystemBus()
# 
# SERVICE_NAME = 'org.bluez'
# 
# DEVICE_IFACE_NAME = 'org.bluez.Device1'


import dbus
from kano.logging import logger
from kano.utils.dbus_interface import get_property, get_all_properties, \
    set_property, dbus_to_bool
from kano.decorators import retry
from kano_settings.system.bt.dbus_tools import BUS, SERVICE_NAME, \
    DEVICE_IFACE_NAME
            SERVICE_NAME,
            self.dbus_dev_obj_path,
            follow_name_owner_changes=async
        )
        return dbus_proxy

    def get_device_interface(self):
        interface = dbus.Interface(self._dbus_proxy, DEVICE_IFACE_NAME)

        return interface

    def get_properties(self):
        return get_all_properties(self._dbus_proxy, DEVICE_IFACE_NAME)

    def get_property(self, prop):
        return get_property(self._dbus_proxy, DEVICE_IFACE_NAME, prop)

    def set_property(self, prop, val):
        return set_property(self._dbus_proxy, DEVICE_IFACE_NAME, prop, val)

    @property
    def name(self):
        return self._name or self._alias

    @property
    def alias(self):
        return self._alias

    @property
    def addr(self):

# Path: kano_settings/system/bt/dbus_tools.py
# BUS = dbus.SystemBus()
# 
# SERVICE_NAME = 'org.bluez'
# 
# DEVICE_IFACE_NAME = 'org.bluez.Device1'


# Path: kano_settings/system/bt/device.py
import dbus
from kano.logging import logger
from kano.utils.dbus_interface import get_property, get_all_properties, \
    set_property, dbus_to_bool
from kano.decorators import retry
from kano_settings.system.bt.dbus_tools import BUS, SERVICE_NAME, \
    DEVICE_IFACE_NAME

            SERVICE_NAME,
            self.dbus_dev_obj_path,
            follow_name_owner_changes=async
        )
        return dbus_proxy

    def get_device_interface(self):
        interface = dbus.Interface(self._dbus_proxy, DEVICE_IFACE_NAME)

        return interface

    def get_properties(self):
        return get_all_properties(self._dbus_proxy, DEVICE_IFACE_NAME)

    def get_property(self, prop):
        return get_property(self._dbus_proxy, DEVICE_IFACE_NAME, prop)

    def set_property(self, prop, val):
        return set_property(self._dbus_proxy, DEVICE_IFACE_NAME, prop, val)

    @property
    def name(self):
        return self._name or self._alias

    @property
    def alias(self):
        return self._alias

    @property
    def addr(self):

        return self._addr