Bluetooth audio service API description
***************************************

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


org.bluez.audio.Manager interface
=================================

Object path	/org/bluez/audio

Methods
		string CreateDevice(string address)

			Creates a new audio device object. If not yet done,
			this method will perform a SDP query on the remote
			device and return first when the query is complete,
			so be sure to call this method asynchronously.

			The return parameter is the object path of the newly
			created object.

		void RemoveDevice(string path)

			Removes a device from the device tree. If there are
			any connections open to the device they will be closed.			

		array{string} ListDevices()

			Retuns an array of strings indicating the object paths
			of available devices

		array{string} ListHeadsets()

			Returns list of headset objects that
			are configured.

		string DefaultHeadset()

			Returns the object path for the default
			headset device.

		void ChangeDefaultHeadset(string path)

			Changes the default headset.

		string CreateHeadset(string address)

			Create a new headset device and returns
			its object path on return.

		void RemoveHeadset(string path)

			Removes a headset object and all information
			related to it.

Signals
		void DeviceCreated(string path)

			Sent when a new device object has been created.

		void DeviceRemoved(string path)

			Sent when a device object has been removed.

		void HeadsetCreated(string path)

			Sent when a new headset object has been created.

		void HeadsetRemoved(string path)

			Sent when a headset object has been removed.

		void DefaultHeadsetChanged(string path)

			Sent when the default headset has changed.


org.bluez.audio.Device interface
================================

Object path(s)	/org/bluez/audio/device*

Methods		string GetAddress()

			Returns the Bluetooth address of the remote device.

		array{string} GetConnectedInterfaces()	[experimental]

			Returns a string list of interfaces that are in a
			connected state.


org.bluez.audio.Headset interface
=================================

Object path(s)	/org/bluez/audio/device*

Methods		void Connect()

		void Disconnect()

		boolean IsConnected()

		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()

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

Signals		void AnswerRequested()

			Sent when the answer button is pressed on the headset

		void Connected()

			Sent when the device has been connected to.

		void Disconnected()

			Sent when the device has been disconnected from.

		void Stopped()

			Sent when the audio connection is closed

		void Playing()

			Sent when the audio connection is opened

		void SpeakerGainChanged(uint16 gain)

			The speaker gain changed.

		void MicrophoneGainChanged(uint16 gain)

			The microphone gain changed.


org.bluez.audio.Source interface
================================

Object path(s)	/org/bluez/audio/device*


org.bluez.audio.Sink interface
==============================

Object path(s)	/org/bluez/audio/device*
