Bluetooth Client Library (Bluetooth User) Overview

The Bluetooth Client Library component (Bluetooth User) provides APIs for configuring and managing Bluetooth® connections.


The Symbian platform Bluetooth subsystem provides developer support for creating Bluetooth aware applications. Bluetooth User is a collection of components and their corresponding DLLs that set up, configure and manage Bluetooth sockets, access the HCI, and configure Bluetooth AV sessions.

Key concepts and terms

The following terms are used:

Bluetooth library

Provides setup and configuration details such as device type, Bluetooth sockets and link management options.

Bluetooth sockets

Sockets provided by CBluetoothSocket instead of RSocket. CBluetoothSocket::Connect() takes a TBTSockAddr, whose constructor TBTSockAddr::TBTSockAddr() takes a TSockAddr.

Audio / Visual library

Provides useful setup, configuration and error handling for Audio / Video applications.

HCI direct access

Used by licensees to customise HCI functionality. See RHCIDirectAccess.

Typical uses

We will look at common tasks associated with some of the Bluetooth User APIs here.

Task backgrounder

Before setting up a Bluetooth connection you need to think about the kind of connection needed and how best to go about setting up the connection. These topics will get you started.

  1. Connecting to Remote Devices

    This is a set of tutorial documents, the contents of which have been split up here according to main functionality grouping.

    • Selecting a Remote Device

      Discusses some of the issues about selecting a remote device that should be considered before writing any code.

Socket tasks

The following tutorial guides deal mainly with sockets.

  1. Connecting to Remote Devices

    • Inquiring About Remote Devices

      This tutorial shows you how to create a Bluetooth socket, make an inquiry for a remote device address and establish a connection to the remote device.

  2. Listening for Incoming Bluetooth Connections

    This tutorial shows you how to set up a Bluetooth socket to listen for a connect attempt by remote devices.

Notifier tasks

Notifiers are used to manage aspects of a Bluetooth connection.

  1. Connecting to Remote Devices

Utility tasks

These tasks show you how to do things like configure a local or remote device, access protocol level data and send HCI commands.

  1. Connecting to Remote Devices

  2. Handling the Local Device Name

    This code shows you how to set and get the local device name.

  3. Performing Low-level Configuration

    This tutorial introduces you to HCI, L2CAP and RFCOMM commands and options and shows you how to read the Class of device attribute on an L2CAP socket.

  4. Disconnecting ACL links

    This tutorial shows you how to drop a remote device from a connection while leaving the socket up.

Audio / Video tasks

Currently there are no tutorials for the Audio / Video profiles.

Related concepts