Name Description Size Coverage
android -
bluez -
CMakeLists.txt 14958 -
configure.cmake 2619 -
darwin -
doc -
dummy -
lecmaccalculator.cpp SOL_ALG 5032 -
lecmaccalculator_p.h 1012 -
ohos -
qbluetooth.cpp ! \namespace QBluetooth \inmodule QtBluetooth \brief The QBluetooth namespace provides classes and functions related to Bluetooth. \since 5.2 2303 -
qbluetooth.h 1149 -
qbluetoothaddress.cpp ! \class QBluetoothAddress \inmodule QtBluetooth \brief The QBluetoothAddress class assigns an address to the Bluetooth device. \since 5.2 This class holds a Bluetooth address in a platform- and protocol-independent manner. 3466 -
qbluetoothaddress.h 3002 -
qbluetoothdevicediscoveryagent.cpp ! \class QBluetoothDeviceDiscoveryAgent \inmodule QtBluetooth \brief The QBluetoothDeviceDiscoveryAgent class discovers the Bluetooth devices nearby. \since 5.2 To discover the nearby Bluetooth devices: \list \li create an instance of QBluetoothDeviceDiscoveryAgent, \li connect to either the deviceDiscovered() or finished() signals, \li and call start(). \endlist \snippet doc_src_qtbluetooth.cpp device_discovery To retrieve results asynchronously, connect to the deviceDiscovered() signal. To get a list of all discovered devices, call discoveredDevices() after the finished() signal. This class can be used to discover Classic and Low Energy Bluetooth devices. The individual device type can be determined via the \l QBluetoothDeviceInfo::coreConfigurations() attribute. In most cases the list returned by \l discoveredDevices() contains both types of devices. However not every platform can detect both types of devices. On platforms with this limitation (for example iOS only suports Low Energy discovery), the discovery process will limit the search to the type which is supported. \note Since Android 6.0 the ability to detect devices requires ACCESS_COARSE_LOCATION. \note The Win32 backend currently does not support the Received Signal Strength Indicator (RSSI), as well as the Manufacturer Specific Data, or other data updates advertised by Bluetooth LE devices after discovery. 15484 -
qbluetoothdevicediscoveryagent.h 2428 -
qbluetoothdevicediscoveryagent_android.cpp The Classic/LE discovery method precedence is handled as follows: If only classic method is set => only classic method is used If only LE method is set => only LE method is used If both classic and LE methods are set, start classic scan first If classic scan fails to start, start LE scan immediately in the start function Otherwise start LE scan when classic scan completes 20837 -
qbluetoothdevicediscoveryagent_bluez.cpp 18947 -
qbluetoothdevicediscoveryagent_darwin.mm 20669 -
qbluetoothdevicediscoveryagent_ohos.cpp 11015 -
qbluetoothdevicediscoveryagent_p.cpp 1519 -
qbluetoothdevicediscoveryagent_p.h 7094 -
qbluetoothdevicediscoveryagent_winrt.cpp 38285 -
qbluetoothdeviceinfo.cpp ! \class QBluetoothDeviceInfo \inmodule QtBluetooth \brief The QBluetoothDeviceInfo class stores information about the Bluetooth device. \since 5.2 QBluetoothDeviceInfo provides information about a Bluetooth device's name, address and class of device. 25627 -
qbluetoothdeviceinfo.h 7171 -
qbluetoothdeviceinfo_p.h 1417 -
qbluetoothdevicewatcher_winrt.cpp 3500 -
qbluetoothdevicewatcher_winrt_p.h 2067 -
qbluetoothhostinfo.cpp ! \class QBluetoothHostInfo \inmodule QtBluetooth \brief The QBluetoothHostInfo class encapsulates the details of a local QBluetooth device. \since 5.2 This class holds the name and address of a local Bluetooth device. 2919 -
qbluetoothhostinfo.h 1255 -
qbluetoothhostinfo_p.h 707 -
qbluetoothlocaldevice.cpp ! \class QBluetoothLocalDevice \inmodule QtBluetooth \brief The QBluetoothLocalDevice class enables access to the local Bluetooth device. \since 5.2 QBluetoothLocalDevice provides functions for getting and setting the state of local Bluetooth devices. On iOS, this class cannot be used because the platform does not expose any data or API which may provide information on the local Bluetooth device. 13367 -
qbluetoothlocaldevice.h 2540 -
qbluetoothlocaldevice_android.cpp 14929 -
qbluetoothlocaldevice_bluez.cpp 26451 -
qbluetoothlocaldevice_macos.mm 19184 -
qbluetoothlocaldevice_ohos.cpp 32617 -
qbluetoothlocaldevice_p.cpp 2041 -
qbluetoothlocaldevice_p.h 6554 -
qbluetoothlocaldevice_winrt.cpp This class is supposed to manage winrt::Windows::Devices::Radios::Radio instances. It looks like Windows behaves incorrectly when there are multiple instances representing the same physical device. So this class will be a single point for keeping track of all used Radios. At the same time this class takes care of monitoring adapter connections and disconnections. Note that access to internal structs should be protected, because all Windows callbacks come in separate threads. We also can't use Qt::QueuedConnection to "forward" the execution to the right thread, because Windows' IUnknown-based classes have a deleted operator new(), and so can't be used in QMetaType. However, we will still mostly use signals/slots to communicate with actual QBluetoothLocalDevice instances, so we do not need any protection on that side. 29795 -
qbluetoothserver.cpp ! \class QBluetoothServer \inmodule QtBluetooth \brief The QBluetoothServer class uses the RFCOMM or L2cap protocol to communicate with a Bluetooth device. \since 5.2 QBluetoothServer is used to implement Bluetooth services over RFCOMM or L2cap. Start listening for incoming connections with listen(). Wait till the newConnection() signal is emitted when a new connection is established, and call nextPendingConnection() to get a QBluetoothSocket for the new connection. To enable other devices to find your service, create a QBluetoothServiceInfo with the applicable attributes for your service and register it using QBluetoothServiceInfo::registerService(). Call serverPort() to get the channel number that is being used. If the \l QBluetoothServiceInfo::Protocol is not supported by a platform, \l listen() will return \c false. Android, HarmonyOS and WinRT only support RFCOMM for example. On iOS, this class cannot be used because the platform does not expose an API which may permit access to QBluetoothServer related features. \sa QBluetoothServiceInfo, QBluetoothSocket 11751 -
qbluetoothserver.h 2006 -
qbluetoothserver_android.cpp 7125 -
qbluetoothserver_bluez.cpp 10866 -
qbluetoothserver_macos.mm 11529 -
qbluetoothserver_ohos.cpp 8286 -
qbluetoothserver_ohos_p.cpp 2699 -
qbluetoothserver_ohos_p.h 1398 -
qbluetoothserver_p.cpp 1845 -
qbluetoothserver_p.h 5350 -
qbluetoothserver_winrt.cpp 6975 -
qbluetoothservicediscoveryagent.cpp ! \class QBluetoothServiceDiscoveryAgentPrivate \inmodule QtBluetooth \internal 20342 -
qbluetoothservicediscoveryagent.h 2564 -
qbluetoothservicediscoveryagent_android.cpp We assume that the current local adapter has been passed. The logic below must change once there is more than one adapter. 18864 -
qbluetoothservicediscoveryagent_bluez.cpp 19362 -
qbluetoothservicediscoveryagent_macos.mm 7840 -
qbluetoothservicediscoveryagent_ohos.cpp 8945 -
qbluetoothservicediscoveryagent_p.cpp 1088 -
qbluetoothservicediscoveryagent_p.h 7388 -
qbluetoothservicediscoveryagent_winrt.cpp 23306 -
qbluetoothserviceinfo.cpp ! \class QBluetoothServiceInfo::Sequence \inmodule QtBluetooth \brief The Sequence class stores attributes of a Bluetooth Data Element Sequence. \since 5.2 23542 -
qbluetoothserviceinfo.h 6274 -
qbluetoothserviceinfo_android.cpp 3096 -
qbluetoothserviceinfo_bluez.cpp 10041 -
qbluetoothserviceinfo_macos.mm 5447 -
qbluetoothserviceinfo_ohos.cpp 4252 -
qbluetoothserviceinfo_p.cpp 853 -
qbluetoothserviceinfo_p.h 2797 -
qbluetoothserviceinfo_winrt.cpp 21775 -
qbluetoothsocket.cpp ! \class QBluetoothSocket \inmodule QtBluetooth \brief The QBluetoothSocket class enables connection to a Bluetooth device running a bluetooth server. \since 5.2 QBluetoothSocket supports two socket types, \l {QBluetoothServiceInfo::L2capProtocol}{L2CAP} and \l {QBluetoothServiceInfo::RfcommProtocol}{RFCOMM}. \l {QBluetoothServiceInfo::L2capProtocol}{L2CAP} is a low level datagram-oriented Bluetooth socket. Android does not support \l {QBluetoothServiceInfo::L2capProtocol}{L2CAP} for socket connections, and the HarmonyOS backend implements RFCOMM only. \l {QBluetoothServiceInfo::RfcommProtocol}{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. If the \l {QBluetoothServiceInfo::Protocol}{Protocol} is not supported on a platform, calling \l connectToService() will emit a \l {QBluetoothSocket::SocketError::UnsupportedProtocolError}{UnsupportedProtocolError} error. \note QBluetoothSocket does not support synchronous read and write operations. Functions such as \l waitForReadyRead() and \l waitForBytesWritten() are not implemented. I/O operations should be performed using \l readyRead(), \l read() and \l write(). On iOS, this class cannot be used because the platform does not expose an API which may permit access to QBluetoothSocket related features. \note On macOS Monterey (12) the socket data flow is paused when a modal dialogue is executing, or an event tracking mode is entered (for example by long-pressing a Window close button). This issue has been fixed in macOS Sequoia (15). 25812 -
qbluetoothsocket.h 4852 -
qbluetoothsocket_android.cpp BluetoothSocket.connect() can block up to 10s. Therefore it must be in a separate thread. Unfortunately if BluetoothSocket.close() is called while connect() is still blocking the resulting behavior is not reliable. This may well be an Android platform bug. In any case, close() must be queued up until connect() has returned. The WorkerThread manages the connect() and close() calls. Interaction with the main thread happens via signals and slots. There is an accepted but undesirable side effect of this approach as the user may call connect() and close() and the socket would continue to successfully connect to the remote device just to immidiately close the physical connection again. WorkerThread and SocketConnectWorker are cleaned up via the threads finished() signal. 30533 -
qbluetoothsocket_android_p.h 3996 -
qbluetoothsocket_bluez.cpp 22671 -
qbluetoothsocket_bluez_p.h 2420 -
qbluetoothsocket_bluezdbus.cpp 21455 -
qbluetoothsocket_bluezdbus_p.h 3376 -
qbluetoothsocket_dummy.cpp 4384 -
qbluetoothsocket_dummy_p.h 2445 -
qbluetoothsocket_macos.mm 20027 -
qbluetoothsocket_macos_p.h 3647 -
qbluetoothsocket_ohos.cpp 12865 -
qbluetoothsocket_ohos_p.h 2595 -
qbluetoothsocket_winrt.cpp 30965 -
qbluetoothsocket_winrt_p.h 3911 -
qbluetoothsocketbase.cpp 440 -
qbluetoothsocketbase_p.h 5671 -
qbluetoothutils_winrt.cpp 3230 -
qbluetoothutils_winrt_p.h " << #x << " 3568 -
qbluetoothuuid.cpp ! \class QBluetoothUuid \inmodule QtBluetooth \brief The QBluetoothUuid class generates a UUID for each Bluetooth service. \since 5.2 82831 -
qbluetoothuuid.h 0x2a0b not defined 14555 -
qbluetoothuuid_darwin.mm ! \brief Constructs a new QBluetoothUuid, containing a copy of the \a cbUuid CBUUID. \note this function is only available on Apple platforms. \since 6.6 \ingroup platform-type-conversions 1136 -
qleadvertiser_bluez.cpp 15407 -
qleadvertiser_bluez_p.h 3634 -
qleadvertiser_bluezdbus.cpp 10127 -
qleadvertiser_bluezdbus_p.h 1833 -
qlowenergyadvertisingdata.cpp ! \since 5.7 \class QLowEnergyAdvertisingData \brief The QLowEnergyAdvertisingData class represents the data to be broadcast during Bluetooth Low Energy advertising. \inmodule QtBluetooth \ingroup shared This data can include the device name, GATT services offered by the device, and so on. The data set via this class will be used when advertising is started by calling \l QLowEnergyController::startAdvertising(). Objects of this class can represent an Advertising Data packet or a Scan Response packet. \section1 Advertising Data Limitations The maximum length of the advertisement data depends on the bluetooth device and the platform bluetooth stack. For maximum compatibility, it is recommended to limit the advertising data size to the legacy advertising limit of 31 bytes. If the variable-length data set via this class exceeds the supported limit, the behavior will depend on the underlying Bluetooth stack implementation. The most typical possibilities are: \list \li the extra data can be truncated or entirely left out; \li the advertising fails to start. \endlist For example, on Android, advertising will fail if the advertising data is larger than 31 bytes. On BlueZ DBus backend, the advertising length limit and the behavior when it is exceeded is up to BlueZ; it may, for example support extended advertising, or may fail to start the advertising. \sa QLowEnergyAdvertisingParameters \sa QLowEnergyController::startAdvertising() 9902 -
qlowenergyadvertisingdata.h 2089 -
qlowenergyadvertisingparameters.cpp ! \since 5.7 \class QLowEnergyAdvertisingParameters \brief The QLowEnergyAdvertisingParameters class represents the parameters used for Bluetooth Low Energy advertising. \inmodule QtBluetooth \ingroup shared When running the advertising procedure, a number of parameters can be configured, such as how fast to advertise or which clients, if any, can connect to the advertising device. These parameters are set via this class, and their values will be used when advertising is started by calling \l QLowEnergyController::startAdvertising(). \sa QLowEnergyAdvertisingData \sa QLowEnergyController::startAdvertising() 10572 -
qlowenergyadvertisingparameters.h 2913 -
qlowenergycharacteristic.cpp ! \class QLowEnergyCharacteristic \inmodule QtBluetooth \brief The QLowEnergyCharacteristic class stores information about a Bluetooth Low Energy service characteristic. \since 5.4 QLowEnergyCharacteristic provides information about a Bluetooth Low Energy service characteristic's name(), uuid(), value(), properties(), and descriptors(). To obtain the characteristic's specification and information, it is necessary to connect to the device using the QLowEnergyService and QLowEnergyController classes. The characteristic value may be written via the \l QLowEnergyService instance that manages the service to which this characteristic belongs. The \l {QLowEnergyService::writeCharacteristic()} function writes the new value. The \l {QLowEnergyService::characteristicWritten()} signal is emitted upon success. The value() of this object is automatically updated accordingly. Characteristics may contain none, one or more descriptors. They can be individually retrieved using the \l descriptor() function. The \l descriptors() function returns all descriptors as a list. The general purpose of a descriptor is to add contextual information to the characteristic. For example, the descriptor might provide format or range information specifying how the characteristic's value is to be\ interpreted. \sa QLowEnergyService, QLowEnergyDescriptor 16234 -
qlowenergycharacteristic.h 2981 -
qlowenergycharacteristicdata.cpp ! \since 5.7 \class QLowEnergyCharacteristicData \brief The QLowEnergyCharacteristicData class is used to set up GATT service data. \inmodule QtBluetooth \ingroup shared An Object of this class provides a characteristic to be added to a \l QLowEnergyServiceData object via \l QLowEnergyServiceData::addCharacteristic(). \sa QLowEnergyServiceData \sa QLowEnergyController::addService 8148 -
qlowenergycharacteristicdata.h 2355 -
qlowenergyconnectionparameters.cpp ! \since 5.7 \class QLowEnergyConnectionParameters \brief The QLowEnergyConnectionParameters class is used when requesting or reporting an update of the parameters of a Bluetooth LE connection. The connection parameters influence how often a master and a slave device synchronize with each other. In general, a lower connection interval and latency means faster communication, but also higher power consumption. How these criteria should be weighed against each other is highly dependent on the concrete use case. Android only indirectly permits the adjustment of this parameter set. The platform separates the connection parameters into three categories (hight, low & balanced priority). Each category implies a predefined set of values for \l minimumInterval(), \l maximumInterval() and \l latency(). Additionally, the value ranges of each category can vary from one Android device to the next. Qt uses the \l minimumInterval() to determine the target category as follows: \table \header \li minimumInterval() \li Android priority \row \li interval < 30 \li CONNECTION_PRIORITY_HIGH \row \li 30 <= interval <= 100 \li CONNECTION_PRIORITY_BALANCED \row \li interval > 100 \li CONNECTION_PRIORITY_LOW_POWER \endtable The \l supervisionTimeout() cannot be changed on Android and is therefore ignored. \inmodule QtBluetooth \ingroup shared \sa QLowEnergyController::requestConnectionUpdate \sa QLowEnergyController::connectionUpdated 6862 -
qlowenergyconnectionparameters.h 1807 -
qlowenergycontroller.cpp 37438 -
qlowenergycontroller.h 5113 -
qlowenergycontroller_android.cpp 56268 -
qlowenergycontroller_android_p.h 4930 -
qlowenergycontroller_bluez.cpp returns false if the format is incorrect 148583 -
qlowenergycontroller_bluez_p.h 13213 -
qlowenergycontroller_bluezdbus.cpp removedProperties 64478 -
qlowenergycontroller_bluezdbus_p.h 7135 -
qlowenergycontroller_darwin.mm if (!cbService.isPrimary) { // Our guess included/not was probably wrong. newService->type &= ~QLowEnergyService::PrimaryService; newService->type |= QLowEnergyService::IncludedService; } 40764 -
qlowenergycontroller_darwin_p.h 5238 -
qlowenergycontroller_dummy.cpp service 3000 -
qlowenergycontroller_dummy_p.h 2807 -
qlowenergycontroller_winrt.cpp 80987 -
qlowenergycontroller_winrt_p.h 7114 -
qlowenergycontrollerbase.cpp ! \class QLowEnergyControllerPrivate \inmodule QtBluetooth \internal 11354 -
qlowenergycontrollerbase_p.h 5045 -
qlowenergydescriptor.cpp ! \class QLowEnergyDescriptor \inmodule QtBluetooth \brief The QLowEnergyDescriptor class stores information about the Bluetooth Low Energy descriptor. \since 5.4 QLowEnergyDescriptor provides information about a Bluetooth Low Energy descriptor's name(), uuid(), and value(). Descriptors are encapsulated by Bluetooth Low Energy characteristics and provide additional contextual information about the characteristic (data format, notification activation and so on). The descriptor value may be written via the QLowEnergyService instance that manages the service to which this descriptor belongs. The \l {QLowEnergyService::writeDescriptor()} function writes the new value. The \l {QLowEnergyService::descriptorWritten()} signal is emitted upon success. The cached value() of this object is updated accordingly. \sa QLowEnergyService, QLowEnergyCharacteristic 9339 -
qlowenergydescriptor.h 2209 -
qlowenergydescriptordata.cpp ! \since 5.7 \class QLowEnergyDescriptorData \brief The QLowEnergyDescriptorData class is used to create GATT service data. \inmodule QtBluetooth \ingroup shared An object of this class provides a descriptor to be added to a \l QLowEnergyCharacteristicData object via \l QLowEnergyCharacteristicData::addDescriptor(). \note The member functions related to access permissions are only applicable to those types of descriptors for which the Bluetooth specification does not prescribe if and how their values can be accessed. \sa QLowEnergyCharacteristicData \sa QLowEnergyServiceData \sa QLowEnergyController::addService 6110 -
qlowenergydescriptordata.h 2047 -
qlowenergyservice.cpp 38264 -
qlowenergyservice.h 5221 -
qlowenergyservicedata.cpp ! \since 5.7 \class QLowEnergyServiceData \brief The QLowEnergyServiceData class is used to set up GATT service data. \inmodule QtBluetooth \ingroup shared An Object of this class provides a service to be added to a GATT server via \l QLowEnergyController::addService(). 5647 -
qlowenergyservicedata.h 1946 -
qlowenergyserviceprivate.cpp 1186 -
qlowenergyserviceprivate_p.h not exported 3572 -
qprivatelinearbuffer_p.h 4082 -
qtbluetoothglobal.h 355 -
qtbluetoothglobal_p.h 665 -
removed_api.cpp 1509 -