From: Luiz Augusto von Dentz Date: Fri, 21 Dec 2012 08:55:12 +0000 (+0200) Subject: test: Update opp-client to use the new interfaces X-Git-Tag: android-x86-4.4-r3~9383 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=6022cbc4313b9533b1d13df333e06221f5b896ca;p=android-x86%2Fexternal-bluetooth-bluez.git test: Update opp-client to use the new interfaces --- diff --git a/test/opp-client b/test/opp-client index b26a81c16..f346bb648 100755 --- a/test/opp-client +++ b/test/opp-client @@ -7,6 +7,13 @@ import dbus.mainloop.glib import os.path from optparse import OptionParser +BUS_NAME='org.bluez.obex' +PATH = '/org/bluez/obex' +CLIENT_INTERFACE='org.bluez.obex.Client1' +SESSION_INTERFACE='org.bluez.obex.Session1' +OBJECT_PUSH_INTERFACE='org.bluez.obex.ObjectPush1' +TRANSFER_INTERFACE='org.bluez.obex.Transfer1' + def parse_options(): parser.add_option("-d", "--device", dest="device", help="Device to connect", metavar="DEVICE") @@ -25,25 +32,15 @@ class OppClient: self.transfer_path = None self.verbose = verbose bus = dbus.SessionBus() - obj = bus.get_object("org.bluez.obex", session_path) - self.session = dbus.Interface(obj, "org.bluez.obex.Session") - self.opp = dbus.Interface(obj, "org.bluez.obex.ObjectPush") - bus.add_signal_receiver(self.transfer_complete, - dbus_interface="org.bluez.obex.Transfer", - signal_name="Complete", - path_keyword="path") - bus.add_signal_receiver(self.transfer_error, - dbus_interface="org.bluez.obex.Transfer", - signal_name="Error", - path_keyword="path") - if self.verbose: - bus.add_signal_receiver(self.transfer_progress, - dbus_interface="org.bluez.obex.Transfer", - signal_name="PropertyChanged", - path_keyword="path") - - def create_transfer_reply(self, reply): - (path, properties) = reply + obj = bus.get_object(BUS_NAME, session_path) + self.session = dbus.Interface(obj, SESSION_INTERFACE) + self.opp = dbus.Interface(obj, OBJECT_PUSH_INTERFACE) + bus.add_signal_receiver(self.properties_changed, + dbus_interface="org.freedesktop.DBus.Properties", + signal_name="PropertiesChanged", + path_keyword="path") + + def create_transfer_reply(self, path, properties): self.transfer_path = path self.transfer_size = properties["Size"] if self.verbose: @@ -53,24 +50,18 @@ class OppClient: print err mainloop.quit() - def transfer_complete(self, path): - if path != self.transfer_path: - return - if self.verbose: - print "Transfer finished" - mainloop.quit() - - def transfer_error(self, code, message, path): + def properties_changed(self, interface, properties, invalidated, path): if path != self.transfer_path: return - print "Transfer finished with error %s: %s" % (code, message) - mainloop.quit() - def transfer_progress(self, prop, value, path): - if path != self.transfer_path: + if properties['Status'] == 'complete' or \ + properties['Status'] == 'error': + if self.verbose: + print "Transfer %s" % properties['Status'] + mainloop.quit() return - if prop != "Progress": + if properties["Progress"] == None: return speed = (value - self.progress) / 1000 @@ -104,9 +95,8 @@ if __name__ == '__main__': bus = dbus.SessionBus() mainloop = gobject.MainLoop() - client = dbus.Interface(bus.get_object("org.bluez.obex", - "/org/bluez/obex"), - "org.bluez.obex.Client") + client = dbus.Interface(bus.get_object(BUS_NAME, PATH), + CLIENT_INTERFACE) print "Creating Session" path = client.CreateSession(options.device, { "Target": "OPP" })