BlueZ D-Bus Network API description
***********************************

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


Network hierarchy
=================

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

Methods		string Connect(string uuid)

			Connect to the network device and return the network
			interface name. Examples of the interface name are
			bnep0, bnep1 etc.

			uuid can be either one of "gn", "panu" or "nap" (case
			insensitive) or a traditional string representation of
			UUID or a hexadecimal number.

			The connection will be closed and network device
			released either upon calling Disconnect() or when
			the client disappears from the message bus.

			Possible errors: org.bluez.Error.AlreadyConnected
					 org.bluez.Error.ConnectionAttemptFailed

		void Disconnect()

			Disconnect from the network device.

			To abort a connection attempt in case of errors or
			timeouts in the client it is fine to call this method.

			Possible errors: org.bluez.Error.Failed

		dict GetProperties()

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

Signals		PropertyChanged(string name, variant value)

			This signal indicates a changed value of the given
			property.

Properties	boolean Connected [readonly]

			Indicates if the device is connected.

		string Interface [readonly]

			Indicates the network interface name when available.

		string UUID [readonly]

			Indicates the connection role when available.


Network Hub/Peer/Router hierarchy
=================

Service		org.bluez
Interface	org.bluez.network.{Hub, Peer, Router}
Object path	/org/bluez/{hci0,hci1,...}

Methods		dict GetProperties()

			Returns all properties for the GN/PANU/NAP server. See the
			properties section for available properties.

		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

Properties	string Name[readwrite]

			The Bluetooth network server name.

		boolean Enable[readwrite]

			Indicates if the server is Enabled/Disabled.

		string Uuid[readonly]

			The Bluetooth network server UUID 128 identification.
