All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC] doc: add org.bluez.Handsfree interface
@ 2011-08-12 13:28 Frédéric Danis
  2011-08-12 13:55 ` Gustavo Padovan
  0 siblings, 1 reply; 3+ messages in thread
From: Frédéric Danis @ 2011-08-12 13:28 UTC (permalink / raw)
  To: linux-bluetooth

This change allows to share the same interface for both Handsfree HF
and AG (only diffrence is interface name), and most part of the code.

This will imply to rename and update audio/gateway.[ch] to be more hfp
generic (moving it to audio/hfp.[ch], renaming APIs from gateway_...()
to hfp_...()).

Adding version and features to RegisterAgent interface will allow BlueZ
to adapt the SDP record to agent capabilities.
---
 doc/hfp-api.txt |   65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 64 insertions(+), 1 deletions(-)

diff --git a/doc/hfp-api.txt b/doc/hfp-api.txt
index cf2e730..d50a048 100644
--- a/doc/hfp-api.txt
+++ b/doc/hfp-api.txt
@@ -1,3 +1,63 @@
+Handsfree hierarchy
+========================
+
+Service		org.bluez
+Interface	org.bluez.Handsfree
+Object path	[variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX
+
+This interface is available for remote devices which can function in the
+HandsFree role of the HFP profiles.  It is intended to be used with external
+telephony stacks / handlers of the HFP protocol.
+
+Methods		void Connect()
+
+			Connect to the AG service on the remote device.
+
+		void Disconnect()
+
+			Disconnect from the AG service on the remote device
+
+		dict GetProperties()
+
+			Returns all properties for the interface. See the
+			properties section for available properties.
+
+		void RegisterAgent(object path, uint16 version, uint32 features)
+
+			The object path defines the path the of the agent
+			that will be called when a new Handsfree connection
+			is established.
+			Version and features are the profile version and
+			HandsFree features (like for +BRSF reply) supported by
+			the agent.
+
+			If an application disconnects from the bus all of its
+			registered agents will be removed.
+
+		void UnregisterAgent(object path)
+
+			This unregisters the agent that has been previously
+			registered. The object path parameter must match the
+			same value that has been used on registration.
+
+			Possible Errors: org.bluez.Error.Failed
+					 org.bluez.Error.InvalidArguments
+
+
+Signals		PropertyChanged(string name, variant value)
+
+			This signal indicates a changed value of the given
+			property.
+
+Properties	string State [readonly]
+
+			Indicates the state of the connection.  Possible
+			values are:
+				"disconnected"
+				"connecting"
+				"connected"
+				"playing"
+
 Gateway hierarchy
 ========================
 
@@ -22,11 +82,14 @@ Methods		void Connect()
 			Returns all properties for the interface. See the
 			properties section for available properties.
 
-		void RegisterAgent(object path)
+		void RegisterAgent(object path, uint16 version, uint32 features)
 
 			The object path defines the path the of the agent
 			that will be called when a new Handsfree connection
 			is established.
+			Version and features are the profile version and
+			HandsFree features (like for AT+BRSF command) supported
+			by the agent.
 
 			If an application disconnects from the bus all of its
 			registered agents will be removed.
-- 
1.7.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [RFC] doc: add org.bluez.Handsfree interface
  2011-08-12 13:28 [RFC] doc: add org.bluez.Handsfree interface Frédéric Danis
@ 2011-08-12 13:55 ` Gustavo Padovan
  2011-08-19  9:08   ` Frederic Danis
  0 siblings, 1 reply; 3+ messages in thread
From: Gustavo Padovan @ 2011-08-12 13:55 UTC (permalink / raw)
  To: Frédéric Danis; +Cc: linux-bluetooth

* Frédéric Danis <frederic.danis@linux.intel.com> [2011-08-12 15:28:00 +0200]:

> This change allows to share the same interface for both Handsfree HF
> and AG (only diffrence is interface name), and most part of the code.
> 
> This will imply to rename and update audio/gateway.[ch] to be more hfp
> generic (moving it to audio/hfp.[ch], renaming APIs from gateway_...()
> to hfp_...()).

what will be the future of the current implementation of the HFP Audio Gateway
implementation in BlueZ. Will it be  deprecated?

	Gustavo

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [RFC] doc: add org.bluez.Handsfree interface
  2011-08-12 13:55 ` Gustavo Padovan
@ 2011-08-19  9:08   ` Frederic Danis
  0 siblings, 0 replies; 3+ messages in thread
From: Frederic Danis @ 2011-08-19  9:08 UTC (permalink / raw)
  To: linux-bluetooth

Hello Gustavo,

Le 12/08/2011 15:55, Gustavo Padovan a écrit :
> * Frédéric Danis<frederic.danis@linux.intel.com>  [2011-08-12 15:28:00 +0200]:
>
>> This change allows to share the same interface for both Handsfree HF
>> and AG (only diffrence is interface name), and most part of the code.
>>
>> This will imply to rename and update audio/gateway.[ch] to be more hfp
>> generic (moving it to audio/hfp.[ch], renaming APIs from gateway_...()
>> to hfp_...()).
>
> what will be the future of the current implementation of the HFP Audio Gateway
> implementation in BlueZ. Will it be  deprecated?
>
> 	Gustavo

I do not know what will be the future, this proposal just add a new 
interface allowing an external application (like oFono) to implement the 
Handsfree Audio Gateway profile in a similar way than for current 
Handsfree headset.

This allows the application to focus on profile implementation, letting 
management of Bluetooth part (SDP advertisement, connection, 
authentication, authorization, ...) to BlueZ.

Fred

-- 
Frederic Danis                            Open Source Technology Centre
frederic.danis@intel.com                              Intel Corporation


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-08-19  9:08 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-08-12 13:28 [RFC] doc: add org.bluez.Handsfree interface Frédéric Danis
2011-08-12 13:55 ` Gustavo Padovan
2011-08-19  9:08   ` Frederic Danis

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.