Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
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>
27#include "android/lowenergynotificationhub_p.h"
28
29#include <functional>
30
31QT_BEGIN_NAMESPACE
32
33class QLowEnergyServiceData;
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,
54 QLowEnergyService::DiscoveryMode mode) override;
55
56 void startAdvertising(const QLowEnergyAdvertisingParameters &params,
57 const QLowEnergyAdvertisingData &advertisingData,
58 const QLowEnergyAdvertisingData &scanResponseData) override;
59 void stopAdvertising() override;
60
61 void requestConnectionUpdate(const QLowEnergyConnectionParameters &params) override;
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
79 void addToGenericAttributeList(const QLowEnergyServiceData &service,
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,
104 QLowEnergyService::ServiceError errorCode);
105 void descriptorWritten(int descHandle, const QByteArray &data,
106 QLowEnergyService::ServiceError errorCode);
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,
115 QLowEnergyController::Error errorCode);
116 void centralConnectionUpdated(QLowEnergyController::ControllerState newState,
117 QLowEnergyController::Error errorCode);
118};
119
120QT_END_NAMESPACE
121
122#endif // QLOWENERGYCONTROLLERPRIVATEANDROID_P_H
void mtuChanged(int mtu)
void remoteRssiRead(int rssi, bool success)
void advertisementError(int status)
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
quint16 QLowEnergyHandle
Definition qbluetooth.h:42
static QJniObject javaParcelUuidfromQtUuid(const QBluetoothUuid &uuid)
static int setupCharPermissions(const QLowEnergyCharacteristicData &charData)
static QJniObject createJavaAdvertiseSettings(const QLowEnergyAdvertisingParameters &params)
static QJniObject createJavaAdvertiseData(const QLowEnergyAdvertisingData &data)
static QJniObject javaUuidfromQtUuid(const QBluetoothUuid &uuid)
static int setupDescPermissions(const QLowEnergyDescriptorData &descData)
void registerQLowEnergyControllerMetaType()