28 UnknownRemoteDeviceError,
30 InvalidBluetoothAdapterError,
33 RemoteHostClosedError,
35 MissingPermissionsError,
40 enum ControllerState {
49 Q_ENUM(ControllerState)
51 enum RemoteAddressType {
55 Q_ENUM(RemoteAddressType)
57 enum Role { CentralRole, PeripheralRole };
60 static QLowEnergyController *createCentral(
const QBluetoothDeviceInfo &remoteDevice,
61 QObject *parent =
nullptr);
62 static QLowEnergyController *createCentral(
const QBluetoothDeviceInfo &remoteDevice,
63 const QBluetoothAddress &localDevice,
64 QObject *parent =
nullptr);
65 static QLowEnergyController *createPeripheral(
const QBluetoothAddress &localDevice,
66 QObject *parent =
nullptr);
67 static QLowEnergyController *createPeripheral(QObject *parent =
nullptr);
71 ~QLowEnergyController();
73 QBluetoothAddress localAddress()
const;
74 QBluetoothAddress remoteAddress()
const;
75 QBluetoothUuid remoteDeviceUuid()
const;
77 QString remoteName()
const;
79 ControllerState state()
const;
82 RemoteAddressType remoteAddressType()
const;
83 void setRemoteAddressType(RemoteAddressType type);
85 void connectToDevice();
86 void disconnectFromDevice();
88 void discoverServices();
89 QList<QBluetoothUuid> services()
const;
90 QLowEnergyService *createServiceObject(
const QBluetoothUuid &service, QObject *parent =
nullptr);
92 void startAdvertising(
const QLowEnergyAdvertisingParameters ¶meters,
93 const QLowEnergyAdvertisingData &advertisingData,
94 const QLowEnergyAdvertisingData &scanResponseData = QLowEnergyAdvertisingData());
95 void stopAdvertising();
97 QLowEnergyService *addService(
const QLowEnergyServiceData &service, QObject *parent =
nullptr);
99 void requestConnectionUpdate(
const QLowEnergyConnectionParameters ¶meters);
102 QString errorString()
const;
112 void stateChanged(QLowEnergyController::ControllerState state);
113 void errorOccurred(QLowEnergyController::Error newError);
114 void mtuChanged(
int mtu);
115 void rssiRead(qint16 rssi);
117 void serviceDiscovered(
const QBluetoothUuid &newService);
118 void discoveryFinished();
119 void connectionUpdated(
const QLowEnergyConnectionParameters ¶meters);
124 explicit QLowEnergyController(
const QBluetoothAddress &localDevice, QObject *parent =
nullptr);
127 explicit QLowEnergyController(
const QBluetoothDeviceInfo &remoteDevice,
128 const QBluetoothAddress &localDevice,
129 QObject *parent =
nullptr);
132 Q_DECLARE_PRIVATE(QLowEnergyController)
133 QLowEnergyControllerPrivate *d_ptr;