tizen 2.3.1 release
[framework/connectivity/bluez.git] / test / simple-endpoint
old mode 100644 (file)
new mode 100755 (executable)
index 20c8159..0164cff
@@ -6,11 +6,16 @@ import sys
 import dbus
 import dbus.service
 import dbus.mainloop.glib
-import gobject
+try:
+  from gi.repository import GObject
+except ImportError:
+  import gobject as GObject
+import bluezutils
 
 A2DP_SOURCE_UUID = "0000110A-0000-1000-8000-00805F9B34FB"
 A2DP_SINK_UUID = "0000110B-0000-1000-8000-00805F9B34FB"
 HFP_AG_UUID = "0000111F-0000-1000-8000-00805F9B34FB"
+HFP_HF_UUID = "0000111E-0000-1000-8000-00805F9B34FB"
 HSP_AG_UUID = "00001112-0000-1000-8000-00805F9B34FB"
 
 SBC_CODEC = dbus.Byte(0x00)
@@ -38,6 +43,8 @@ MP3_CONFIGURATION = dbus.Array([dbus.Byte(0x21), dbus.Byte(0x02), dbus.Byte(0x00
 PCM_CODEC = dbus.Byte(0x00)
 PCM_CONFIGURATION = dbus.Array([], signature="ay")
 
+CVSD_CODEC = dbus.Byte(0x01)
+
 class Rejected(dbus.DBusException):
        _dbus_error_name = "org.bluez.Error.Rejected"
 
@@ -51,25 +58,25 @@ class Endpoint(dbus.service.Object):
        def default_configuration(self, configuration):
                self.configuration = configuration
 
-       @dbus.service.method("org.bluez.MediaEndpoint",
+       @dbus.service.method("org.bluez.MediaEndpoint1",
                                        in_signature="", out_signature="")
        def Release(self):
                print("Release")
                if self.exit_on_release:
                        mainloop.quit()
 
-       @dbus.service.method("org.bluez.MediaEndpoint",
+       @dbus.service.method("org.bluez.MediaEndpoint1",
                                        in_signature="", out_signature="")
        def ClearConfiguration(self):
                print("ClearConfiguration")
 
-       @dbus.service.method("org.bluez.MediaEndpoint",
+       @dbus.service.method("org.bluez.MediaEndpoint1",
                                        in_signature="oay", out_signature="")
        def SetConfiguration(self, transport, config):
                print("SetConfiguration (%s, %s)" % (transport, config))
                return
 
-       @dbus.service.method("org.bluez.MediaEndpoint",
+       @dbus.service.method("org.bluez.MediaEndpoint1",
                                        in_signature="ay", out_signature="ay")
        def SelectConfiguration(self, caps):
                print("SelectConfiguration (%s)" % (caps))
@@ -79,20 +86,18 @@ if __name__ == '__main__':
        dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
 
        bus = dbus.SystemBus()
-       manager = dbus.Interface(bus.get_object("org.bluez", "/"),
-                                               "org.bluez.Manager")
 
        if len(sys.argv) > 1:
-               path = manager.FindAdapter(sys.argv[1])
+               path = bluezutils.find_adapter(sys.argv[1]).object_path
        else:
-               path = manager.DefaultAdapter()
+               path = bluezutils.find_adapter().object_path
 
        media = dbus.Interface(bus.get_object("org.bluez", path),
-                                               "org.bluez.Media")
+                                               "org.bluez.Media1")
 
        path = "/test/endpoint"
        endpoint = Endpoint(bus, path)
-       mainloop = gobject.MainLoop()
+       mainloop = GObject.MainLoop()
 
        properties = dbus.Dictionary({ "UUID" : A2DP_SOURCE_UUID,
                                        "Codec" : SBC_CODEC,
@@ -120,6 +125,11 @@ if __name__ == '__main__':
                                                        "Codec" : PCM_CODEC,
                                                        "Capabilities" :  PCM_CONFIGURATION })
                        endpoint.default_configuration(dbus.Array([]))
+               if sys.argv[2] == "hfphf":
+                       properties = dbus.Dictionary({ "UUID" : HFP_HF_UUID,
+                                                       "Codec" : CVSD_CODEC,
+                                                       "Capabilities" :  PCM_CONFIGURATION })
+                       endpoint.default_configuration(dbus.Array([]))
 
        print(properties)