BlueZ D-Bus Control API description
***********************************

Copyright (C) 2004-2010  Marcel Holtmann <marcel@holtmann.org>
Copyright (C) 2007-2008  David Stockwell <dstockwell@frequency-one.com>


Control hierarchy
=================

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

Methods		boolean IsConnected() {deprecated}

			Returns True if connected, otherwise FALSE.

		dict GetProperties()

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

		void VolumeUp()

			Adjust remote volume one step up

		void VolumeDown()

			Adjust remote volume one step down

Signals		Connected() {deprecated}

			Sent when a successful AVRCP connection has been made
			to the remote device.

		Disconnected() {deprecated}

			Sent when the AVRCP connection to the remote device
			has been disconnected.

Properties

		boolean Connected [readonly]
