From 24e2fbddccafdd37deb93b0f478979c4c143bdca Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Fri, 3 Oct 2008 08:52:57 +0200 Subject: Add first draft of AVRCP D-Bus interface specification --- doc/Makefile.am | 5 +- doc/control-api.txt | 134 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 136 insertions(+), 3 deletions(-) create mode 100644 doc/control-api.txt diff --git a/doc/Makefile.am b/doc/Makefile.am index 190ea3fb..6277dccf 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -27,6 +27,5 @@ EXTRA_DIST = $(DOC_MAIN_SGML_FILE) $(content_files) endif EXTRA_DIST += manager-api.txt adapter-api.txt device-api.txt \ - service-api.txt agent-api.txt \ - serial-api.txt network-api.txt \ - input-api.txt audio-api.txt + service-api.txt agent-api.txt serial-api.txt \ + network-api.txt input-api.txt audio-api.txt control-api.txt diff --git a/doc/control-api.txt b/doc/control-api.txt new file mode 100644 index 00000000..f2d3d20d --- /dev/null +++ b/doc/control-api.txt @@ -0,0 +1,134 @@ +BlueZ D-Bus Control API description +*********************************** + +Copyright (C) 2004-2008 Marcel Holtmann +Copyright (C) 2007-2008 David Stockwell + + +Control hierarchy +================= + +Service org.bluez +Interface org.bluez.Control +Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX + +Methods void Connect() + + Connect to remote device (CT or TG). + + void Disconnect() + + Disconnect remote device. + + dict GetProperties() + + Returns all properties for the interface. See the + properties section for available properties. + + boolean SendPassthrough(avc_operation_id key, boolean state, + string op_data) + + Called to send Passthrough commands. ONLY valid if + BlueZ device is in CT role. + + boolean SendVendorDependent(string op_data) + + Called to send VendorDependent commands, other than + Metadata or Events defined in the AVRCP+Metadata + specification. + + void ChangePlayback(string status, uint32 elapsed) + + The status can be "playing", "stopped", "paused", + "forward-seek", "reverse-seek" or "error". Elapsed is + the position within the track in milliseconds. + + void ChangeTrack(dict metadata) + + Called to send the mandated TrackChange event and + potential metadata information. + + Current defined metadata information are represented + with the following keys: + + Title string (mandatory) + Artist string + Album string + Genre string + NumberOfTracks uint32 + TrackNumber uint32 + TrackDuration uint32 (in milliseconds) + + void ChangeSetting(string setting, variant value) + + Called to transmit Application Settings, CT Status + and the like. + + Currenet defined settings are represented with the + following keys: + + Equalizer off, on + Repeat off, singletrack, alltracks, group + Shuffle off, alltracks, group + Scan off, alltracks, group + Battery normal, warning, critical, external, fullcharge + System powered, unpowered, unplugged + Volume uint8 + +Signals Connected() + + Sent when a successful AVRCP connection has been made + to the remote device. + + Disconnected() + + Sent when the AVRCP connection to the remote device + has been disconnected. + + Passthrough(uint8 key, boolean state, int32 company_id, + string op_data) + + Called when Passthrough command is received from + connected device. + + NOTE: according to the AV/C Subpanel Spec, company_id + and op_data are passed ONLY when the key is + "Vendor_Unique", or 0x7E. + + When the key is NOT 0x7E, the signal returns + company_id=-1, and zero-length op_data. + + VendorDependentReceived(string op_data) + + Called when VendorDependent message is received from + connected device (except for Metadata defined in + Bluetooth SIG AVRCP+Metadata spec). + + TrackChanged(dict metadata) + + Called when Metadata is received from connected device. + May be multiple meta attribute/element pairs. + + PlaybackChanged(string status, uint32 elapsed) + + SettingChanged(string setting, variant value) + +Properties uint8 SubUnitID [readonly] + + The three-bit Subunit ID from the connected device. + + uint8 SubUnitType [readonly] + + The five-bit Subunit Type from the connected device. + + boolean Connected [readonly] + + array{uint32} CompanyIDs [readonly] + + List of three-byte Company IDs (OUI) supported by the + connected device. Note that Bluetooth SIG Company + ID (0x001958) is always included. + + array{string} Capabilities [readonly] + + List of Capabilities provided by the connected device. -- cgit