亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dbus-test

?? bluetooth 開發應用bluez-utils-2.23
??
字號:
#!/usr/bin/env pythonimport dbusimport dbus.decoratorsimport dbus.glibimport gobjectimport sysimport getoptfrom signal import *mgr_cmds = [ "DeviceList", "DefaultDevice" ]dev_cmds = [ "Up", "Down", "SetProperty", "GetProperty", "Inquiry",             "CancelInquiry", "PeriodicInquiry","CancelPeriodic", "RemoteName",             "Connections", "Authenticate", "RoleSwitch" ]dev_setprop_bool = [ "auth", "encrypt", "discoverable", "connectable" ]dev_setprop_byte = [ "incmode" ]class Tester:    exit_events = []    dev_path = None    need_dev = False    listen = False    at_interrupt = None    def __init__(self, argv):        self.name = argv[0]        self.parse_args(argv[1:])        try:            self.dbus_setup()        except dbus.DBusException, e:            print 'Failed to do D-BUS setup: %s' % e            sys.exit(1)        self.dev_setup()    def parse_args(self, argv):        try:            opts, args = getopt.getopt(argv, "hli:")        except getopt.GetoptError:            self.usage()            sys.exit(1)        for o, a in opts:            if o == "-h":                self.usage()                sys.exit()            elif o == "-l":                self.need_dev = True                self.listen = True            elif o == "-i":                if a[0] == '/':                    self.dev_path = a                else:                    self.dev_path = '/org/bluez/Device/%s' % a        if not (args or self.listen):            self.usage()            sys.exit(1)        if args:            self.cmd = args[0]            self.cmd_args = args[1:]            if not self.cmd in mgr_cmds:                self.need_dev = True    def dev_setup(self):        if self.need_dev and not self.dev_path:            try:                self.dev_path = self.manager.DefaultDevice()            except dbus.DBusException, e:                print 'Failed to get default device: %s' % e                sys.exit(1)        if self.dev_path:            try:                obj = self.bus.get_object('org.bluez', self.dev_path)                self.dev = dbus.Interface(obj, 'org.bluez.Device')                self.dev.connect_to_signal('Up', self.dev_up)                self.dev.connect_to_signal('Down', self.dev_down)                self.bus.add_signal_receiver(self.dev_name_changed, 'DeviceNameChanged',                                             'org.bluez.Device', 'org.bluez',                                             '/org/bluez/Device/hci0')                obj = self.bus.get_object('org.bluez', '%s/Controller' % self.dev_path)                self.ctl = dbus.Interface(obj, 'org.bluez.Device.Controller')                self.ctl.connect_to_signal('InquiryStart', self.inquiry_start)                self.ctl.connect_to_signal('InquiryResult', self.inquiry_result)                self.ctl.connect_to_signal('InquiryComplete', self.inquiry_complete)                self.ctl.connect_to_signal('RemoteName', self.remote_name)                self.ctl.connect_to_signal('RemoteNameFailed', self.remote_name_failed)                self.ctl.connect_to_signal('AuthenticationComplete', self.authentication_complete)            except dbus.DBusException, e:                print 'Failed to setup device path: %s' % e                sys.exit(1)    def dbus_setup(self):        self.bus = dbus.SystemBus()        manager_obj = self.bus.get_object('org.bluez', '/org/bluez/Manager')        self.manager = dbus.Interface(manager_obj, 'org.bluez.Manager')        self.manager.connect_to_signal('DeviceAdded', self.device_added)        self.manager.connect_to_signal('DeviceRemoved', self.device_removed)    def usage(self):        print 'Usage: %s [-i <dev>] [-l] [-h] <cmd> [arg1..]' % self.name        print '  -i <dev>   Specify device (e.g. "hci0" or "/org/bluez/Device/hci0")'        print '  -l         Listen for events (no command required)'        print '  -h         Show this help'        print 'Manager commands:'        for cmd in mgr_cmds:            print '\t%s' % cmd        print 'Device commands:'        for cmd in dev_cmds:            print '\t%s' % cmd    def device_added(self, path):        print 'DeviceAdded: %s' % path    def device_removed(self, path):        print 'DeviceRemoved: %s' % path    def remote_name(self, bda, name):        print 'RemoteName: %s, %s' % (bda, name)        if 'RemoteName' in self.exit_events:            self.main_loop.quit()    def remote_name_failed(self, bda, status):        print 'RemoteNameFailed: %s, 0x%02X' % (bda, status)        if 'RemoteNameFailed' in self.exit_events:            self.main_loop.quit()    def inquiry_start(self):        print 'InquiryStart'    def inquiry_complete(self):        print 'InquiryComplete'        if 'InquiryComplete' in self.exit_events:            self.main_loop.quit()    def inquiry_result(self, bda, cls, rssi):        print 'InquiryResult: %s, %06X, %02X' % (bda, cls, rssi)    def authentication_complete(self, bda, status):        print 'AuthenticationComplete: %s, 0x%02X' % (bda, status)        if 'AuthenticationComplete' in self.exit_events:            self.main_loop.quit()    def dev_up(self):        print 'Up'    def dev_down(self):        print 'Down'    @dbus.decorators.explicitly_pass_message    def dev_name_changed(*args, **keywords):        name = args[1]        dbus_message = keywords["dbus_message"]        print 'Device %s name changed: %s' % (dbus_message.get_path(), name)    def signal_cb(self, sig, frame):        print 'Caught signal, exiting'        if self.at_interrupt:            self.at_interrupt()        self.main_loop.quit()    def run(self):        # Manager methods        if self.listen:            print 'Listening for events...'        elif self.cmd == 'DeviceList':            for dev in self.manager.DeviceList():                print dev        elif self.cmd == 'DefaultDevice':            print self.manager.DefaultDevice()        # Device methods        elif self.cmd == 'Up':            try:                self.dev.Up()            except dbus.DBusException, e:                print 'Sending %s failed: %s' % (self.cmd, e)                sys.exit(1)        elif self.cmd == 'Down':            try:                self.dev.Down()            except dbus.DBusException, e:                print 'Sending %s failed: %s' % (self.cmd, e)                sys.exit(1)        elif self.cmd == 'SetProperty':            if len(self.cmd_args) < 2:                print 'Usage: %s -i <dev> SetProperty strPropName arg' % self.name                sys.exit(1)            try:                if self.cmd_args[0].lower() in dev_setprop_bool:                    self.dev.SetProperty(self.cmd_args[0], dbus.Boolean(self.cmd_args[1]))                elif self.cmd_args[0].lower() in dev_setprop_byte:                    self.dev.SetProperty(self.cmd_args[0], dbus.Byte(self.cmd_args[1]))                else:                    self.dev.SetProperty(self.cmd_args[0], self.cmd_args[1])            except dbus.DBusException, e:                print 'Sending %s failed: %s' % (self.cmd, e)                sys.exit(1)        elif self.cmd == 'GetProperty':            if len(self.cmd_args) < 1:                print 'Usage: %s -i <dev> GetProperty strPropName' % self.name                sys.exit(1)            try:                print self.dev.GetProperty(self.cmd_args[0])            except dbus.DBusException, e:                print 'Sending %s failed: %s' % (self.cmd, e)                sys.exit(1)        # Device.Controller methods        elif self.cmd == 'Inquiry':            try:                if len(self.cmd_args) != 2:                    self.ctl.Inquiry()                else:                    length, lap = self.cmd_args                    self.ctl.Inquiry(dbus.Byte(length), dbus.UInt32(long(lap, 0)))            except dbus.DBusException, e:                print 'Sending %s failed: %s' % (self.cmd, e)                sys.exit(1)            self.listen = True            self.exit_events.append('InquiryComplete')            self.at_interrupt = self.ctl.CancelInquiry        elif self.cmd == 'CancelInquiry':            try:                self.ctl.CancelInquiry()            except dbus.DBusException, e:                print 'Sending %s failed: %s' % (self.cmd, e)                sys.exit(1)        elif self.cmd == 'RemoteName':            if len(self.cmd_args) < 1:                print 'Bluetooth address needed'                sys.exit(1)            try:                self.ctl.RemoteName(self.cmd_args[0])            except dbus.DBusException, e:                print 'Sending %s failed: %s' % (self.cmd, e)                sys.exit(1)            self.listen = True            self.exit_events.append('RemoteNameFailed')            self.exit_events.append('RemoteName')        elif self.cmd == 'PeriodicInquiry':            try:                if len(self.cmd_args) < 3:                    length, min, max = (6, 20, 60)                    self.ctl.PeriodicInquiry(dbus.Byte(length), dbus.UInt16(min), dbus.UInt16(max))                elif len(self.cmd_args) == 3:                    length, min, max = self.cmd_args                    self.ctl.PeriodicInquiry(dbus.Byte(length), dbus.UInt16(min), dbus.UInt16(max))                else:                    length, min, max, lap = self.cmd_args                    self.ctl.PeriodicInquiry(dbus.Byte(length), dbus.UInt16(min), dbus.UInt16(max),                            dbus.UInt32(long(lap, 0)))                self.listen = True            except dbus.DBusException, e:                print 'Sending %s failed: %s' % (self.cmd, e)                sys.exit(1)        elif self.cmd == 'CancelPeriodic':            try:                self.ctl.CancelPeriodic()            except dbus.DBusException, e:                print 'Sending %s failed: %s' % (self.cmd, e)                sys.exit(1)        elif self.cmd == 'Authenticate':            if len(self.cmd_args) < 1:                print 'Bluetooth address needed'                sys.exit(1)            try:                self.ctl.Authenticate(self.cmd_args[0])            except dbus.DBusException, e:                print 'Sending %s failed: %s' % (self.cmd, e)                sys.exit(1)            self.listen = True            self.exit_events.append('AuthenticationComplete')        elif self.cmd == 'RoleSwitch':            if len(self.cmd_args) < 2:                print 'Bluetooth address and role needed'                exit.exit(1)            bda, role = self.cmd_args            if not (role == '0' or role == '1'):                print 'Role should be 0 (master) or 1 (slave)'                sys.exit(1)            try:                self.ctl.RoleSwitch(bda, dbus.Byte(role))            except dbus.DBusException, e:                print 'Sending %s failed: %s' % (self.cmd, e)                sys.exit(1)        elif self.cmd == 'Connections':            connections = self.ctl.Connections()            for conn in connections:                print conn        else:            print 'Unknown command: %s' % self.cmd            sys.exit(1)        if self.listen:            signal(SIGINT, self.signal_cb)            signal(SIGTERM, self.signal_cb)            self.main_loop = gobject.MainLoop()            self.main_loop.run()if __name__ == '__main__':    gobject.threads_init()    dbus.glib.init_threads()    tester = Tester(sys.argv)    tester.run()

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产综合久久精品| 综合久久久久综合| 亚洲欧美经典视频| 国产毛片精品国产一区二区三区| 亚洲1区2区3区视频| 久久99热狠狠色一区二区| 成人午夜在线免费| 日韩欧美色电影| 天堂成人国产精品一区| 色综合视频一区二区三区高清| 久久久久国产精品免费免费搜索| 亚洲444eee在线观看| 色哟哟一区二区在线观看| 久久久久久久久免费| 日韩综合一区二区| 欧美自拍偷拍一区| 国产精品初高中害羞小美女文| 久久精品久久精品| 91精品国产综合久久精品| 亚洲高清免费一级二级三级| 日本道精品一区二区三区| 国产精品视频你懂的| 国产一区激情在线| www久久精品| 国产另类ts人妖一区二区| 久久综合精品国产一区二区三区| 免费的成人av| 欧美精品一区二区三区在线播放| 男人的j进女人的j一区| 欧美电视剧免费全集观看| 麻豆一区二区三区| 欧美不卡视频一区| 国产精品白丝jk黑袜喷水| 东方aⅴ免费观看久久av| 懂色av一区二区在线播放| 久久久www成人免费毛片麻豆 | 国产一区二区在线免费观看| 日韩精品一区二区三区四区| 精品综合免费视频观看| 26uuu色噜噜精品一区二区| 国产一区美女在线| 国产精品久久久久久久久免费相片| 粉嫩aⅴ一区二区三区四区五区| 久久久久久久久岛国免费| 国产一区二区女| 中文字幕一区二区三区四区| 色综合婷婷久久| 亚洲成人一区二区在线观看| 91精品国产91热久久久做人人| 开心九九激情九九欧美日韩精美视频电影 | 九色综合狠狠综合久久| 久久亚洲捆绑美女| 972aa.com艺术欧美| 亚洲国产wwwccc36天堂| 欧美一区二区观看视频| 粉嫩绯色av一区二区在线观看 | 男女性色大片免费观看一区二区 | 亚洲桃色在线一区| 制服丝袜av成人在线看| 国产成人综合亚洲网站| 一区二区三区四区av| 日韩视频在线你懂得| 不卡的电视剧免费网站有什么| 亚洲最大的成人av| 精品少妇一区二区三区免费观看| 成人av网址在线| 日本伊人色综合网| 中文字幕日本乱码精品影院| 91精品国产91久久综合桃花| 粉嫩av一区二区三区粉嫩| 午夜精品久久久久久久久久| 久久久影院官网| 欧美片网站yy| 99精品国产热久久91蜜凸| 蜜芽一区二区三区| 亚洲精品国产精品乱码不99 | 欧美精品一二三| 成人综合婷婷国产精品久久免费| 天天色天天操综合| 日韩久久一区二区| 国产午夜精品久久久久久久 | 最新日韩在线视频| 精品日韩一区二区三区免费视频| 91啪九色porn原创视频在线观看| 精东粉嫩av免费一区二区三区| 一级女性全黄久久生活片免费| 久久亚洲一级片| 欧美一区二区视频在线观看| 91香蕉视频污在线| 国产一区欧美二区| 国产精品全国免费观看高清| 国产欧美一区二区精品久导航| 91福利社在线观看| 日本大胆欧美人术艺术动态| 国产人成一区二区三区影院| 国产人妖乱国产精品人妖| 日本不卡1234视频| 国产精品网曝门| 日本韩国一区二区三区| 日韩成人午夜精品| 国产嫩草影院久久久久| 色综合久久中文字幕综合网| 亚洲狠狠爱一区二区三区| 精品免费国产二区三区| 99久久综合99久久综合网站| 亚洲成a人片在线观看中文| 欧美绝品在线观看成人午夜影视| 狠狠色伊人亚洲综合成人| 中文字幕一区二区不卡| 在线播放中文字幕一区| 国产不卡免费视频| 亚洲国产美女搞黄色| 久久日韩粉嫩一区二区三区| 在线免费亚洲电影| 国产真实乱对白精彩久久| 亚洲高清中文字幕| 国产日韩欧美在线一区| 欧美高清一级片在线| 丰满放荡岳乱妇91ww| 午夜一区二区三区视频| 国产欧美精品在线观看| 在线播放亚洲一区| 一本到不卡精品视频在线观看 | 欧美日韩亚洲高清一区二区| 国产精品亚洲一区二区三区在线| 一区二区三区日韩欧美| 久久精品人人做人人爽97| 欧美日韩性生活| 91麻豆国产自产在线观看| 经典三级视频一区| 青青草原综合久久大伊人精品 | 亚洲国产va精品久久久不卡综合| 久久久精品免费免费| 91精品国产全国免费观看 | 日韩一区二区精品| 欧美三级韩国三级日本一级| 成av人片一区二区| 国产999精品久久| 九九精品一区二区| 日韩国产一二三区| 午夜精品在线看| 亚洲综合免费观看高清完整版在线| 久久久久久久综合| 久久久五月婷婷| 91精品国产综合久久精品性色| 欧美私人免费视频| 91成人看片片| 欧美日韩亚洲国产综合| 欧美无乱码久久久免费午夜一区| 91搞黄在线观看| 在线观看av一区| 欧美日韩国产天堂| 777xxx欧美| 91精选在线观看| 欧美一区二区视频在线观看2022| 欧美人妇做爰xxxⅹ性高电影| 欧美日韩亚洲国产综合| 欧美在线观看视频一区二区| 97se亚洲国产综合在线| 色噜噜狠狠一区二区三区果冻| 99这里只有久久精品视频| 91首页免费视频| 欧洲一区二区av| 欧美精品丝袜久久久中文字幕| 777a∨成人精品桃花网| 精品捆绑美女sm三区| 国产天堂亚洲国产碰碰| 99久久伊人久久99| 视频在线观看国产精品| 人人爽香蕉精品| 国产在线国偷精品免费看| 国产精品一区二区三区四区| www.一区二区| 欧美系列亚洲系列| 日韩网站在线看片你懂的| 国产视频一区在线播放| 1区2区3区欧美| 舔着乳尖日韩一区| 国产黄色精品网站| 在线中文字幕不卡| 精品精品国产高清a毛片牛牛| 久久视频一区二区| 一区二区三区中文字幕| 日本亚洲欧美天堂免费| 国产91高潮流白浆在线麻豆| 在线观看精品一区| 久久精品一区四区| 亚洲永久精品国产| 国产高清亚洲一区| 在线观看免费一区| 国产女主播在线一区二区| 亚洲影院在线观看| 成人免费毛片app| 欧美二区在线观看| 亚洲欧美日韩电影| 久久成人精品无人区| 色伊人久久综合中文字幕| 欧美精品一区二区三区在线| 亚洲在线成人精品| 91麻豆精品国产|