MeeGo 1.2 Harmattan Developer Documentation Develop for the Nokia N9

QBluetoothSocket Class Reference

The QBluetoothSocket class provides a Bluetooth socket. More...

 #include <QBluetoothSocket>

Inherits: QIODevice.

This class was introduced in Qt Mobility 1.2.

Public Types

enum SocketError { UnknownSocketError, NoSocketError, ConnectionRefusedError, RemoteHostClosedError, ..., NetworkError }
enum SocketState { UnconnectedState, ServiceLookupState, ConnectingState, ConnectedState, ..., ListeningState }
enum SocketType { UnknownSocketType, L2capSocket, RfcommSocket }

Public Functions

QBluetoothSocket ( SocketType socketType, QObject * parent = 0 )
QBluetoothSocket ( QObject * parent = 0 )
virtual ~QBluetoothSocket ()
void abort ()
void connectToService ( const QBluetoothServiceInfo & service, OpenMode openMode = ReadWrite )
void connectToService ( const QBluetoothAddress & address, const QBluetoothUuid & uuid, OpenMode openMode = ReadWrite )
void connectToService ( const QBluetoothAddress & address, quint16 port, OpenMode openMode = ReadWrite )
void disconnectFromService ()
SocketError error () const
QString errorString () const
QBluetoothAddress localAddress () const
QString localName () const
quint16 localPort () const
QBluetoothAddress peerAddress () const
QString peerName () const
quint16 peerPort () const
bool setSocketDescriptor ( int socketDescriptor, SocketType socketType, SocketState socketState = ConnectedState, OpenMode openMode = ReadWrite )
int socketDescriptor () const
SocketType socketType () const
SocketState state () const

Reimplemented Public Functions

virtual qint64 bytesAvailable () const
virtual qint64 bytesToWrite () const
virtual bool canReadLine () const
virtual void close ()
virtual bool isSequential () const
  • 33 public functions inherited from QIODevice
  • 29 public functions inherited from QObject

Signals

void connected ()
void disconnected ()
void error ( QBluetoothSocket::SocketError error )
void stateChanged ( QBluetoothSocket::SocketState state )

Protected Functions

void doDeviceDiscovery ( const QBluetoothServiceInfo & service, OpenMode openMode )
void setSocketError ( SocketError error_ )
void setSocketState ( SocketState state )

Reimplemented Protected Functions

virtual qint64 readData ( char * data, qint64 maxSize )
virtual qint64 writeData ( const char * data, qint64 maxSize )
  • 5 protected functions inherited from QIODevice
  • 7 protected functions inherited from QObject

Additional Inherited Members

  • 1 property inherited from QObject
  • 1 public slot inherited from QObject
  • 1 public variable inherited from QObject
  • 4 static public members inherited from QObject
  • 2 protected variables inherited from QObject

Detailed Description

The QBluetoothSocket class provides a Bluetooth socket.

QBluetoothSocket supports two socket types, L2CAP and RFCOMM.

L2CAP is a low level datagram-oriented Bluetooth socket.

RFCOMM is a reliable, stream-oriented socket. RFCOMM sockets emulate an RS-232 serial port.

To create a connection to a Bluetooth service create a socket of the appropriate type and call connectToService() passing the Bluetooth address and port number. QBluetoothSocket will emit the connected() signal when the connection is established.

Member Type Documentation

enum QBluetoothSocket::SocketError

This enum describes Bluetooth socket error types.

Constant Value Description
QBluetoothSocket::UnknownSocketError QAbstractSocket::UnknownSocketError An unknown error has occurred.
QBluetoothSocket::NoSocketError -2 No error. Used for testing.
QBluetoothSocket::ConnectionRefusedError QAbstractSocket::ConnectionRefusedError Connection refused or device not available.
QBluetoothSocket::RemoteHostClosedError QAbstractSocket::RemoteHostClosedError The remote host closed the socket
QBluetoothSocket::HostNotFoundError QAbstractSocket::HostNotFoundError Could not find the remote host
QBluetoothSocket::ServiceNotFoundError QAbstractSocket::SocketAddressNotAvailableError Could not find the service UUID on remote host
QBluetoothSocket::NetworkError QAbstractSocket::NetworkError Attempt to read or write from socket returned an error

enum QBluetoothSocket::SocketState

This enum describes the state of the Bluetooth socket.

Constant Value Description
QBluetoothSocket::UnconnectedState QAbstractSocket::UnconnectedState Socket is not connected.
QBluetoothSocket::ServiceLookupState QAbstractSocket::HostLookupState Socket is querying connection parameters.
QBluetoothSocket::ConnectingState QAbstractSocket::ConnectingState Socket is attempting to connect to a device.
QBluetoothSocket::ConnectedState QAbstractSocket::ConnectedState Socket is connected to a device.
QBluetoothSocket::BoundState QAbstractSocket::BoundState 242.nmp.nokia.com _IceTransSocketUNIXConnect: Cannot connect to non-local host saisd Socket is bound to a local address and port.
QBluetoothSocket::ClosingState QAbstractSocket::ClosingState Socket is connected and will be closed once all pending data is written to the socket.
QBluetoothSocket::ListeningState QAbstractSocket::ListeningState Socket is listening for incoming connections.

enum QBluetoothSocket::SocketType

This enum describes the Bluetooth socket type.

Constant Value Description
QBluetoothSocket::UnknownSocketType -1 Unknown socket type.
QBluetoothSocket::L2capSocket 0 L2CAP socket.
QBluetoothSocket::RfcommSocket 1 RFCOMM socket.

Member Function Documentation

QBluetoothSocket::QBluetoothSocket ( SocketType socketType, QObject * parent = 0 )

Constructs a Bluetooth socket of socketType type, with parent.

QBluetoothSocket::QBluetoothSocket ( QObject * parent = 0 )

Constructs a Bluetooth socket with parent.

QBluetoothSocket::~QBluetoothSocket () [virtual]

Destroys the Bluetooth socket.

void QBluetoothSocket::abort ()

Aborts the current connection and resets the socket. Unlike disconnectFromService(), this function immediately closes the socket, discarding any pending data in the write buffer.

See also disconnectFromService() and close().

qint64 QBluetoothSocket::bytesAvailable () const [virtual]

Reimplemented from QIODevice::bytesAvailable().

Returns the number of incoming bytes that are waiting to be read.

See also bytesToWrite() and read().

qint64 QBluetoothSocket::bytesToWrite () const [virtual]

Reimplemented from QIODevice::bytesToWrite().

Returns the number of bytes that are waiting to be written. The bytes are written when control goes back to the event loop.

bool QBluetoothSocket::canReadLine () const [virtual]

Reimplemented from QIODevice::canReadLine().

Returns true if you can read at least one line from the device

void QBluetoothSocket::close () [virtual]

Reimplemented from QIODevice::close().

Disconnects the socket's connection with the device.

void QBluetoothSocket::connectToService ( const QBluetoothServiceInfo & service, OpenMode openMode = ReadWrite )

Attempts to connect to the service described by service.

The socket is opened in the given openMode.

The socket first enters ConnectingState and attempts to connect to the device providing service. If a connection is established, QBluetoothSocket enters ConnectedState and emits connected().

At any point, the socket can emit error() to siganl that an error occurred.

See also state() and disconnectFromService().

void QBluetoothSocket::connectToService ( const QBluetoothAddress & address, const QBluetoothUuid & uuid, OpenMode openMode = ReadWrite )

Attempts to make a connection to the service identified by uuid on the device with address address.

The socket is opened in the given openMode.

The socket first enters the ServiceLookupState and queries the connection parameters for uuid. If the service parameters are successfully retrieved the socket enters ConnectingState, and attempts to connect to address. If a connection is established, QBluetoothSocket enters Connected State and emits connected().

At any point, the socket can emit error() to signal that an error occurred.

See also state() and disconnectFromService().

void QBluetoothSocket::connectToService ( const QBluetoothAddress & address, quint16 port, OpenMode openMode = ReadWrite )

Attempts to make a connection with address on the given port.

The socket is opened in the given openMode.

The socket first enters ConnectingState, and attempts to connect to address. If a connection is established, QBluetoothSocket enters ConnectedState and emits connected().

At any point, the socket can emit error() to signal that an error occurred.

See also state() and disconnectFromService().

void QBluetoothSocket::connected () [signal]

This signal is emitted when a connection is established.

See also QBluetoothSocket::ConnectedState and stateChanged().

void QBluetoothSocket::disconnectFromService ()

Attempts to close the socket. If there is pending data waiting to be written QBluetoothSocket will enter ClosingState and wait until all data has been written. Eventually, it will enter UnconnectedState and emit the disconnected() signal.

See also connectToService().

void QBluetoothSocket::disconnected () [signal]

This signal is emitted when the socket is disconnected.

See also QBluetoothSocket::UnconnectedState and stateChanged().

void QBluetoothSocket::doDeviceDiscovery ( const QBluetoothServiceInfo & service, OpenMode openMode ) [protected]

Start device discovery for service and open the socket with openMode. If the socket is created with a service uuid device address we must use service discovery to find the port number to connect to.

SocketError QBluetoothSocket::error () const

Returns the last error.

void QBluetoothSocket::error ( QBluetoothSocket::SocketError error ) [signal]

This signal is emitted when an error occurs.

See also error().

QString QBluetoothSocket::errorString () const

Returns a user displayable text string for the error.

bool QBluetoothSocket::isSequential () const [virtual]

Reimplemented from QIODevice::isSequential().

QBluetoothAddress QBluetoothSocket::localAddress () const

Returns the address of the local device.

QString QBluetoothSocket::localName () const

Returns the name of the local device.

quint16 QBluetoothSocket::localPort () const

Returns the port number of the local socket if available; otherwise returns 0.

QBluetoothAddress QBluetoothSocket::peerAddress () const

Returns the address of the peer device.

QString QBluetoothSocket::peerName () const

Returns the name of the peer device.

quint16 QBluetoothSocket::peerPort () const

Return the port number of the peer socket if available; otherwise returns 0.

qint64 QBluetoothSocket::readData ( char * data, qint64 maxSize ) [virtual protected]

Reimplemented from QIODevice::readData().

bool QBluetoothSocket::setSocketDescriptor ( int socketDescriptor, SocketType socketType, SocketState socketState = ConnectedState, OpenMode openMode = ReadWrite )

Set the socket to use socketDescriptor with a type of socketType which is in state socketState and mode openMode.

Returns true on success

See also socketDescriptor().

void QBluetoothSocket::setSocketError ( SocketError error_ ) [protected]

Sets the type of error that last occurred to error_.

void QBluetoothSocket::setSocketState ( SocketState state ) [protected]

Sets the socket state to state.

int QBluetoothSocket::socketDescriptor () const

Returns the platform specific socket descriptor, if available

See also setSocketDescriptor().

SocketType QBluetoothSocket::socketType () const

Returns the socket type.

SocketState QBluetoothSocket::state () const

Returns the current state of the socket.

void QBluetoothSocket::stateChanged ( QBluetoothSocket::SocketState state ) [signal]

This signal is emitted when the socket state changes to state.

See also connected(), disconnected(), state(), and QBluetoothSocket::SocketState.

qint64 QBluetoothSocket::writeData ( const char * data, qint64 maxSize ) [virtual protected]

Reimplemented from QIODevice::writeData().