|
||
So far in this tutorial series we have looked at the steps involved in creating a Personal Area Network and adding devices to that PAN. Now we will look at disconnecting devices from the PAN.
The code fragments in this tutorial are derived from the Bluetooth
Example application available in
/src/COMMON/DEVELOPERLIBRARY/examples/Bluetooth/BTExample1
.
Although the code has been reformatted to the requirements of the tutorial
there is always enough information included with the code to find the actual
example code.
This tutorial is designed for Symbian licensees only. Several APIs mentioned ad used throughout this tutorial series are only available in a device creators kit environment.
The high level steps to remove a device from a PAN are:
Request the connection be closed.
Extract the device address for the connection being closed.
Disconnect the device from the PAN.
The user will select the option to 'Remove current active device' from the PAN. This will cause to prompt the user to select a device. The result of this operation is that the Bluetooth device address is known. See "Finding the Bluetooth Device Address" for more.
As the device being removed is the currently active device the following will get its Bluetooth address:
...
else if(iActivePanConn != KErrNotFound)
{
TPtr8 ptr = iActiveConnections[iActivePanConn].Des();
It is also possible that instead of a device removing itself from the PAN the host can eject a member. The user of the PAN host device would need to be presented with a list of the active members where selecting the member would pass the device address details to the disconnect function.
Regardless of how the disconnect function has been called you have a
Bluetooth device address that has been added to the ptr
pointer
(above). The following will remove the device from the PAN:
...
rerr = iConnection.Control(KCOLAgent, KCOAgentPanDisconnectDevice, ptr);
...
}
return rerr;
The RConnection::Control()
function contains three
parameters. They are explained here:
Attribute | Description |
---|---|
|
Sets the scope of the Control() function to the agent. |
|
The actual command being passed to the |
|
The pointer to the Bluetooth device address. |
Having created a PAN and added and removed devices from the PAN you will need learn about closing the PAN. The following will help:
Removing a device from the PAN- This document