From: David Stockwell <dstockwell@frequency-one.com>
To: bluez-devel@lists.sourceforge.net
Subject: [Bluez-devel] Proposed API for org.bluez.audio.control (AVRCP)
Date: Sat, 29 Mar 2008 08:30:16 -0500 [thread overview]
Message-ID: <200803290830.16736.dstockwell@frequency-one.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 404 bytes --]
Marcel, Johan, Brad, et al:
As promised, I have laid out a first draft interface for .control, which is
largely based on AVRCP support provided by CSR.
It appears that the *-api.txt documents are created with groff (or something
like that); this document I just quickly hacked together in KWrite (similar
to MS Notepad).
Any and all comments will be appreciated.
--
David Stockwell
Frequency One
[-- Attachment #2: avrcp-api.txt --]
[-- Type: text/plain, Size: 3415 bytes --]
org.bluez.audio.Control interface
This interface is available for remote devices which implement support for an
AVRCP controller and target.
Object path(s) /org/bluez/audio/device*
Methods:
void Connect(uint8 role)
Request connection between this node and remote device.
Role is role of THIS node in the connection, {CT|TG|CT&TG}.
void Disconnect()
Disconnect from the remote device.
boolean IsConnected()
Returns TRUE if connected with the remote device.
boolean GetUnitInfo()
Sends UnitInfo command to target of connection
boolean SendUnitInfo(boolean accepted,
uint8 avc_subunit_type, uint16 unit, uint32 company_id)
Called to send UnitInfo (in response to a UnitInfoRequested signal).
NOTE: Once this is set, should it be possible to auto-respond to
future UnitInfoRequested signals?
boolean GetSubUnitInfo(uint8 page)
Sends UnitInfo command to target of connection
boolean SendSubUnitInfo(boolean accepted, uint8 page,
const uint8 * page_data)
Called to send a page of SubUnitInfo (in response to a
SubUnitInfoRequested signal).
boolean SendPassthrough(uint8 avc_subunit_type,
uint8 avc_subunit_id, boolean state, avc_operation_id key,
uint16 sizeof_op_data, const uint8 * op_data)
Called to send Passthrough commands.
boolean SendVendorDependent(uint8 avc_subunit_type,
uint8 avc_subunit_id, uint8 ctype, uint32 company_id,
uint16 sizeof_op_data, const uint8 * op_data)
Called to send VendorDependent commands (also used internally for
Metadata).
void SendMetadata(uint8 avc_subunit_type,
uint8 avc_subunit_id, uint8 ctype,
{uint16 meta_attr, const char * meta_element})
Called to send Metadata commands (a subset of the
VendorDependent message). May be multiple meta attribute/element pairs.
Signals:
void Connected()
Sent when a successful connection has been made to the remote device.
void Disconnected()
Sent when a connection to the remote device has been disconnected.
void ConnectRequested(string address, uint8 role)
Sent when a remote device wishes to connect.
void DisconnectRequested()
Sent when a connected remote device wishes to disconnect.
void UnitInfoRequested()
Received when another connected device requests UnitInfo.
void UnitInfoReceived(boolean accepted,
uint8 avc_subunit_type, uint16 unit, uint32 company_id)
Called when response to GetUnitInfo is received from connected
device.
void SubUnitInfoRequested(uint8 page)
Received when another connected device requests SubUnitInfo
void SubUnitInfoReceived(boolean accepted, uint8 page,
const uint8 * page_data)
Called when response to GetSubUnitInfo is received from connected device.
void PassthroughReceived(uint8 avc_subunit_type,
uint8 avc_subunit_id, boolean state, avc_operation_id key,
uint16 sizeof_op_data, const uint8 * op_data)
Called when Passthrough command is received from connected device.
void VendorDependentReceived(uint8 avc_subunit_type,
uint8 avc_subunit_id, uint8 ctype, uint32 company_id,
uint16 sizeof_op_data, const uint8 * op_data)
Called when VendorDependent message is received from connected device
(except for Metadata).
void MetadataReceived(uint8 avc_subunit_type,
uint8 avc_subunit_id, uint8 ctype,
{uint16 meta_attr, const char * meta_element})
Called when Metadata is received from connected device. May be multiple
meta attribute/element pairs.
[-- Attachment #3: Type: text/plain, Size: 278 bytes --]
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
[-- Attachment #4: Type: text/plain, Size: 164 bytes --]
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
next reply other threads:[~2008-03-29 13:30 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-29 13:30 David Stockwell [this message]
2008-03-31 3:19 ` [Bluez-devel] Proposed API for org.bluez.audio.control (AVRCP) Marcel Holtmann
2008-04-02 14:02 ` David Stockwell
2008-04-02 15:25 ` Johan Hedberg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200803290830.16736.dstockwell@frequency-one.com \
--to=dstockwell@frequency-one.com \
--cc=bluez-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox