Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qlowenergycontroller_android_p.h
Go to the documentation of this file.
1// Copyright (C) 2017 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QLOWENERGYCONTROLLERPRIVATEANDROID_P_H
5#define QLOWENERGYCONTROLLERPRIVATEANDROID_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18
19#include <qglobal.h>
20#include <QtCore/QQueue>
21#include <QtBluetooth/qbluetooth.h>
22#include <QtBluetooth/qlowenergycharacteristic.h>
25
26#include <QtCore/QJniObject>
28
29#include <functional>
30
32
34class QTimer;
35
37
39
41{
43public:
46
47 void init() override;
48
49 void connectToDevice() override;
50 void disconnectFromDevice() override;
51
52 void discoverServices() override;
53 void discoverServiceDetails(const QBluetoothUuid &service,
55
57 const QLowEnergyAdvertisingData &advertisingData,
58 const QLowEnergyAdvertisingData &scanResponseData) override;
59 void stopAdvertising() override;
60
62
63 // read data
64 void readCharacteristic(const QSharedPointer<QLowEnergyServicePrivate> service,
65 const QLowEnergyHandle charHandle) override;
66 void readDescriptor(const QSharedPointer<QLowEnergyServicePrivate> service,
67 const QLowEnergyHandle charHandle,
68 const QLowEnergyHandle descriptorHandle) override;
69
70 // write data
71 void writeCharacteristic(const QSharedPointer<QLowEnergyServicePrivate> service,
72 const QLowEnergyHandle charHandle,
73 const QByteArray &newValue, QLowEnergyService::WriteMode mode) override;
74 void writeDescriptor(const QSharedPointer<QLowEnergyServicePrivate> service,
75 const QLowEnergyHandle charHandle,
76 const QLowEnergyHandle descriptorHandle,
77 const QByteArray &newValue) override;
78
80 QLowEnergyHandle startHandle) override;
81
82 int mtu() const override;
83 void readRssi() override;
84
85private:
86
88
89private slots:
92 void mtuChanged(int mtu);
93 void remoteRssiRead(int rssi, bool success);
94 void servicesDiscovered(QLowEnergyController::Error errorCode,
95 const QString &foundServices);
96 void serviceDetailsDiscoveryFinished(const QString& serviceUuid,
97 int startHandle, int endHandle);
98 void characteristicRead(const QBluetoothUuid &serviceUuid, int handle,
99 const QBluetoothUuid &charUuid, int properties,
100 const QByteArray& data);
101 void descriptorRead(const QBluetoothUuid &serviceUuid, const QBluetoothUuid &charUuid,
102 int handle, const QBluetoothUuid &descUuid, const QByteArray &data);
103 void characteristicWritten(int charHandle, const QByteArray &data,
105 void descriptorWritten(int descHandle, const QByteArray &data,
107 void serverDescriptorWritten(const QJniObject &jniDesc, const QByteArray &newValue);
108 void characteristicChanged(int charHandle, const QByteArray &data);
109 void serverCharacteristicChanged(const QJniObject &jniChar, const QByteArray &newValue);
110 void serviceError(int attributeHandle, QLowEnergyService::ServiceError errorCode);
111 void advertisementError(int errorCode);
112
113private:
114 void peripheralConnectionUpdated(QLowEnergyController::ControllerState newState,
116 void centralConnectionUpdated(QLowEnergyController::ControllerState newState,
118};
119
121
122#endif // QLOWENERGYCONTROLLERPRIVATEANDROID_P_H
quint8 rssi
\inmodule QtBluetooth
\inmodule QtCore
Definition qbytearray.h:57
\inmodule QtCore
The QLowEnergyAdvertisingData class represents the data to be broadcast during Bluetooth Low Energy a...
The QLowEnergyAdvertisingParameters class represents the parameters used for Bluetooth Low Energy adv...
The QLowEnergyConnectionParameters class is used when requesting or reporting an update of the parame...
void writeDescriptor(const QSharedPointer< QLowEnergyServicePrivate > service, const QLowEnergyHandle charHandle, const QLowEnergyHandle descriptorHandle, const QByteArray &newValue) override
void discoverServiceDetails(const QBluetoothUuid &service, QLowEnergyService::DiscoveryMode mode) override
void readDescriptor(const QSharedPointer< QLowEnergyServicePrivate > service, const QLowEnergyHandle charHandle, const QLowEnergyHandle descriptorHandle) override
void startAdvertising(const QLowEnergyAdvertisingParameters &params, const QLowEnergyAdvertisingData &advertisingData, const QLowEnergyAdvertisingData &scanResponseData) override
void addToGenericAttributeList(const QLowEnergyServiceData &service, QLowEnergyHandle startHandle) override
void readCharacteristic(const QSharedPointer< QLowEnergyServicePrivate > service, const QLowEnergyHandle charHandle) override
void requestConnectionUpdate(const QLowEnergyConnectionParameters &params) override
void writeCharacteristic(const QSharedPointer< QLowEnergyServicePrivate > service, const QLowEnergyHandle charHandle, const QByteArray &newValue, QLowEnergyService::WriteMode mode) override
ControllerState
Indicates the state of the controller object.
Error
Indicates all possible error conditions found during the controller's existence.
The QLowEnergyServiceData class is used to set up GATT service data. \inmodule QtBluetooth.
DiscoveryMode
This enum lists service discovery modes.
ServiceError
This enum describes all possible error conditions during the service's existence.
WriteMode
This enum describes the mode to be used when writing a characteristic value.
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
\inmodule QtCore
Definition qtimer.h:20
void newState(QList< State > &states, const char *token, const char *lexem, bool pre)
Combined button and popup list for selecting options.
quint16 QLowEnergyHandle
Definition qbluetooth.h:42
static const QCssKnownValue properties[NumProperties - 1]
void registerQLowEnergyControllerMetaType()
GLuint64 GLenum void * handle
GLenum mode
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
void ** params
#define Q_OBJECT
#define slots