BlueZ D-Bus Audio API description
*********************************

Copyright (C) 2004-2008  Marcel Holtmann <marcel@holtmann.org>
Copyright (C) 2005-2007  Johan Hedberg <johan.hedberg@nokia.com>
Copyright (C) 2005-2006  Brad Midgley <bmidgley@xmission.com>


Headset hierarchy
=================

Service		org.bluez
Interface	org.bluez.Headset
Object path	[variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX

Methods		void Connect()

			Connect to the HSP/HFP service on the remote device.

		void Disconnect()

			Disconnect from the HSP/HFP service on the remote
			device.

		boolean IsConnected() {deprecated}

			Returns TRUE if there is a active connection to the
			HSP/HFP connection on the remote device.

		void IndicateCall()

			Indicate an incoming call on the headset
			connected to the stream. Will continue to
			ring the headset about every 3 seconds.

		void CancelCall()

			Cancel the incoming call indication.

		void Play()

			Open the audio connection to the headset.

		void Stop()

			Close the audio connection.

		boolean IsPlaying() {deprecated}

			Returns true if an audio connection to the headset
			is active.

		uint16 GetSpeakerGain() {deprecated}

			Returns the current speaker gain if available,
			otherwise returns the error NotAvailable.

		uint16 GetMicrophoneGain() {deprecated}

			Returns the current microphone gain if available,
			otherwise returns the error NotAvailable.

		void SetSpeakerGain(uint16 gain) {deprecated}

			Changes the current speaker gain if possible.

		void SetMicrophoneGain(uint16 gain) {deprecated}

			Changes the current speaker gain if possible.

		dict GetProperties()

			Returns all properties for the interface. See the
			properties section for available properties.

			Possible Errors: org.bluez.Error.InvalidArguments

		void SetProperty(string name, variant value)

			Changes the value of the specified property. Only
			properties that are listed a read-write are changeable.
			On success this will emit a PropertyChanged signal.

			Possible Errors: org.bluez.Error.DoesNotExist
					 org.bluez.Error.InvalidArguments

Signals		void AnswerRequested()

			Sent when the answer button is pressed on the headset

		void Connected() {deprecated}

			Sent when the device has been connected to.

		void Disconnected() {deprecated}

			Sent when the device has been disconnected from.

		void Stopped() {deprecated}

			Sent when the audio connection is closed

		void Playing() {deprecated}

			Sent when the audio connection is opened

		void SpeakerGainChanged(uint16 gain) {deprecated}

			The speaker gain changed.

		void MicrophoneGainChanged(uint16 gain) {deprecated}

			The microphone gain changed.

		PropertyChanged(string name, variant value)

			This signal indicates a changed value of the given
			property.

properties	boolean Connected [readonly]

			Indicates if there is a active connection to the
			HSP/HFP connection on the remote device.

		boolean Playing  [readonly]

			Indicates if an audio connection to the headset
			is active.

		uint16 SpeakerGain  [readwrite]

			The speaker gain when available.

		uint16 MicrophoneGain  [readwrite]

			The speaker gain when available.


AudioSink hierarchy
===================

Service		org.bluez
Interface	org.bluez.AudioSink
Object path	[variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX

Methods		void Connect()

			Connect and setup a stream to a A2DP sink on the
			remote device.

		void Disconnect()

			Disconnect from the remote device.

		boolean IsConnected() {deprecated}

			Returns TRUE if a stream is setup to a A2DP sink on
			the remote device.

		dict GetProperties()

			Returns all properties for the interface. See the
			properties section for available properties.

			Possible Errors: org.bluez.Error.InvalidArguments

Signals		void Connected() {deprecated}

			Sent when a successful connection has been made to the
			remote A2DP Sink

		void Disconnected() {deprecated}

			Sent when the device has been disconnected from.

		void Playing() {deprecated}

			Sent when a stream with remote device is started.

		void Stopped() {deprecated}

			Sent when a stream with remote device is suspended.

		PropertyChanged(string name, variant value)

			This signal indicates a changed value of the given
			property.

properties	boolean Connected [readonly]

			Indicates if a stream is setup to a A2DP sink on
			the remote device.

		boolean Playing  [readonly]

			Indicates if a stream is active to a A2DP sink on
			the remote device.
