/**@class android.bluetooth.BluetoothPan
 implements android.bluetooth.BluetoothProfile

@extends java.lang.Object

 This class provides the APIs to control the Bluetooth Pan
 Profile.

 <p>BluetoothPan is a proxy object for controlling the Bluetooth
 Service via IPC. Use {@link android.bluetooth.BluetoothAdapter#getProfileProxy} to get
 the BluetoothPan proxy object.

 <p>Each method is protected with its appropriate permission.

 @hide
*/
var BluetoothPan = {

/** Intent used to broadcast the change in connection state of the Pan
 profile.

 <p>This intent will have 4 extras:
 <ul>
 <li> {@link #EXTRA_STATE} - The current state of the profile. </li>
 <li> {@link #EXTRA_PREVIOUS_STATE}- The previous state of the profile.</li>
 <li> {@link android.bluetooth.BluetoothDevice#EXTRA_DEVICE} - The remote device. </li>
 <li> {@link #EXTRA_LOCAL_ROLE} - Which local role the remote device is
 bound to. </li>
 </ul>

 <p>{@link #EXTRA_STATE} or {@link #EXTRA_PREVIOUS_STATE} can be any of
 {@link #STATE_DISCONNECTED}, {@link #STATE_CONNECTING},
 {@link #STATE_CONNECTED}, {@link #STATE_DISCONNECTING}.

 <p> {@link #EXTRA_LOCAL_ROLE} can be one of {@link #LOCAL_NAP_ROLE} or
 {@link #LOCAL_PANU_ROLE}
 <p>Requires {@link android.Manifest.permission#BLUETOOTH} permission to
 receive.
*/
ACTION_CONNECTION_STATE_CHANGED : "android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED",
/** Extra for {@link #ACTION_CONNECTION_STATE_CHANGED} intent
 The local role of the PAN profile that the remote device is bound to.
 It can be one of {@link #LOCAL_NAP_ROLE} or {@link #LOCAL_PANU_ROLE}.
*/
EXTRA_LOCAL_ROLE : "android.bluetooth.pan.extra.LOCAL_ROLE",
/***/
PAN_ROLE_NONE : "0",
/** The local device is acting as a Network Access Point.
*/
LOCAL_NAP_ROLE : "1",
/***/
REMOTE_NAP_ROLE : "1",
/** The local device is acting as a PAN User.
*/
LOCAL_PANU_ROLE : "2",
/***/
REMOTE_PANU_ROLE : "2",
/** Return codes for the connect and disconnect Bluez / Dbus calls.

 @hide
*/
PAN_DISCONNECT_FAILED_NOT_CONNECTED : "1000",
/** @hide
*/
PAN_CONNECT_FAILED_ALREADY_CONNECTED : "1001",
/** @hide
*/
PAN_CONNECT_FAILED_ATTEMPT_FAILED : "1002",
/** @hide
*/
PAN_OPERATION_GENERIC_FAILURE : "1003",
/** @hide
*/
PAN_OPERATION_SUCCESS : "1004",
/**Initiate connection to a profile of the remote bluetooth device.

 <p> This API returns false in scenarios like the profile on the
 device is already connected or Bluetooth is not turned on.
 When this API returns true, it is guaranteed that
 connection state intent for the profile will be broadcasted with
 the state. Users can get the connection state of the profile
 from this intent.

 <p>Requires {@link android.Manifest.permission#BLUETOOTH_ADMIN}
 permission.
@param {Object {BluetoothDevice}} device Remote Bluetooth Device
@return {Boolean} false on immediate error, true otherwise
@hide 
*/
connect : function(  ) {},

/**Initiate disconnection from a profile

 <p> This API will return false in scenarios like the profile on the
 Bluetooth device is not in connected state etc. When this API returns,
 true, it is guaranteed that the connection state change
 intent will be broadcasted with the state. Users can get the
 disconnection state of the profile from this intent.

 <p> If the disconnection is initiated by a remote device, the state
 will transition from {@link #STATE_CONNECTED} to
 {@link #STATE_DISCONNECTED}. If the disconnect is initiated by the
 host (local) device the state will transition from
 {@link #STATE_CONNECTED} to state {@link #STATE_DISCONNECTING} to
 state {@link #STATE_DISCONNECTED}. The transition to
 {@link #STATE_DISCONNECTING} can be used to distinguish between the
 two scenarios.

 <p>Requires {@link android.Manifest.permission#BLUETOOTH_ADMIN}
 permission.
@param {Object {BluetoothDevice}} device Remote Bluetooth Device
@return {Boolean} false on immediate error, true otherwise
@hide 
*/
disconnect : function(  ) {},

/**{@inheritDoc}
*/
getConnectedDevices : function(  ) {},

/**{@inheritDoc}
*/
getDevicesMatchingConnectionStates : function(  ) {},

/**{@inheritDoc}
*/
getConnectionState : function(  ) {},

/**
*/
setBluetoothTethering : function(  ) {},

/**
*/
isTetheringOn : function(  ) {},


};