D-Bus API description for BlueZ
*******************************

Copyright (C) 2004-2007  Marcel Holtmann <marcel@holtmann.org>


Manager hierarchy
=================

Service		org.bluez
Interface	org.bluez.Manager
Object path	/org/bluez

Methods		array{string} ListServers()

		string CreateServer(string service)


Server hierarchy
================

Service		org.bluez
Interface	org.bluez.Server
Object path	/org/bluez/{server0,server1,...}


Adapter hierarchy
=================

Service		org.bluez
Interface	org.bluez.Adapter
Object path	/org/bluez/{hci0,hci1,...}

Methods		array{sring} ListDevices()

		string FindDevice(string pattern)

		string CreateDevice(string address)

		string CreatePairedDevice(string device)

Signals		void DeviceCreated(string path)

		void DeviceRemoved(string path)


Device hierarchy
================

Service		org.bluez
Interface	org.bluez.Device
Object path	/org/bluez/{hci0,hci1,...}/{device0,device1,...}

Methods		string GetAddress()

		string GetName()

		array{string} ListInterfaces()

		void CreateInterface(string service)

Signals		void InterfaceCreated(string interface)

		void InterfaceRemoved(string interface)

