Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qleadvertiser_bluez_p.h
Go to the documentation of this file.
1
// Copyright (C) 2016 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
QLEADVERTISER_BLUEZ_P_H
5
#
define
QLEADVERTISER_BLUEZ_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
#
include
"qlowenergyadvertisingdata.h"
19
#
include
"qlowenergyadvertisingparameters.h"
20
21
QT_REQUIRE_CONFIG(bluez);
22
23
#
include
"bluez/bluez_data_p.h"
24
25
#
include
<
QtCore
/
qlist
.
h
>
26
#
include
<
QtCore
/
qobject
.
h
>
27
28
QT_BEGIN_NAMESPACE
29
30
class
QLeAdvertiser
:
public
QObject
31
{
32
Q_OBJECT
33
public
:
34
void
startAdvertising
() {
doStartAdvertising
(); }
35
void
stopAdvertising
() {
doStopAdvertising
(); }
36
37
signals
:
38
void
errorOccurred
();
39
40
public
:
41
QLeAdvertiser
(
const
QLowEnergyAdvertisingParameters ¶ms,
42
const
QLowEnergyAdvertisingData &advData,
43
const
QLowEnergyAdvertisingData &responseData, QObject *parent)
44
:
QObject
(
parent
),
m_params
(
params
),
m_advData
(
advData
),
m_responseData
(
responseData
) {}
45
~
QLeAdvertiser
()
override
;
46
47
protected
:
48
const
QLowEnergyAdvertisingParameters
&
parameters
()
const
{
return
m_params; }
49
const
QLowEnergyAdvertisingData
&
advertisingData
()
const
{
return
m_advData; }
50
const
QLowEnergyAdvertisingData
&
scanResponseData
()
const
{
return
m_responseData; }
51
52
private
:
53
virtual
void
doStartAdvertising
() = 0;
54
virtual
void
doStopAdvertising
() = 0;
55
56
const
QLowEnergyAdvertisingParameters m_params;
57
const
QLowEnergyAdvertisingData m_advData;
58
const
QLowEnergyAdvertisingData m_responseData;
59
};
60
61
struct
AdvData
;
62
struct
AdvParams
;
63
class
HciManager
;
64
65
class
QLeAdvertiserBluez
:
public
QLeAdvertiser
66
{
67
Q_OBJECT
68
public
:
69
QLeAdvertiserBluez
(
const
QLowEnergyAdvertisingParameters
&
params
,
70
const
QLowEnergyAdvertisingData
&
advertisingData
,
71
const
QLowEnergyAdvertisingData
&
scanResponseData
,
72
std
::
shared_ptr
<
HciManager
>
hciManager
,
73
QObject
*
parent
=
nullptr
);
74
~
QLeAdvertiserBluez
()
override
;
75
76
private
:
77
void
doStartAdvertising
()
override
;
78
void
doStopAdvertising
()
override
;
79
80
void
setPowerLevel(
AdvData
&advData);
81
void
setFlags(
AdvData
&advData);
82
void
setServicesData(
const
QLowEnergyAdvertisingData &src,
AdvData
&dest);
83
void
setManufacturerData(
const
QLowEnergyAdvertisingData &src,
AdvData
&dest);
84
void
setLocalNameData(
const
QLowEnergyAdvertisingData &src,
AdvData
&dest);
85
86
void
queueCommand(
QBluezConst
::
OpCodeCommandField
ocf,
const
QByteArray &advertisingData);
87
void
sendNextCommand();
88
void
queueAdvertisingCommands();
89
void
queueReadTxPowerLevelCommand();
90
void
toggleAdvertising(
bool
enable);
91
void
setAdvertisingParams();
92
void
setAdvertisingInterval(
AdvParams
¶ms);
93
void
setData(
bool
isScanResponseData);
94
void
setAdvertisingData();
95
void
setScanResponseData();
96
void
setWhiteList();
97
98
void
handleCommandCompleted(quint16 opCode, quint8 status,
const
QByteArray &advertisingData);
99
void
handleError();
100
101
std::shared_ptr<HciManager> m_hciManager;
102
103
struct
Command {
104
Command() {}
105
Command(
QBluezConst
::
OpCodeCommandField
ocf,
const
QByteArray &data) : ocf(ocf), data(data) { }
106
QBluezConst
::
OpCodeCommandField
ocf;
107
QByteArray data;
108
};
109
QList<Command> m_pendingCommands;
110
111
quint8 m_powerLevel;
112
bool
m_sendPowerLevel;
113
};
114
115
QT_END_NAMESPACE
116
117
#
endif
// Include guard.
ocfFromOpCode
#define ocfFromOpCode(op)
Definition
bluez_data_p.h:390
HciManager
Definition
hcimanager_p.h:30
HciManager::HciError
HciError
Definition
hcimanager_p.h:101
QLeAdvertiserBluez
Definition
qleadvertiser_bluez_p.h:66
QLeAdvertiserBluez::doStartAdvertising
void doStartAdvertising() override
Definition
qleadvertiser_bluez.cpp:68
QLeAdvertiserBluez::doStopAdvertising
void doStopAdvertising() override
Definition
qleadvertiser_bluez.cpp:84
QLeAdvertiserBluez::~QLeAdvertiserBluez
~QLeAdvertiserBluez() override
Definition
qleadvertiser_bluez.cpp:61
QLeAdvertiser
Definition
qleadvertiser_bluez_p.h:31
QLeAdvertiser::~QLeAdvertiser
~QLeAdvertiser() override
QLeAdvertiser::doStopAdvertising
virtual void doStopAdvertising()=0
QLeAdvertiser::doStartAdvertising
virtual void doStartAdvertising()=0
QLeAdvertiser::scanResponseData
const QLowEnergyAdvertisingData & scanResponseData() const
Definition
qleadvertiser_bluez_p.h:50
QLeAdvertiser::parameters
const QLowEnergyAdvertisingParameters & parameters() const
Definition
qleadvertiser_bluez_p.h:48
QLeAdvertiser::QLeAdvertiser
QLeAdvertiser(const QLowEnergyAdvertisingParameters ¶ms, const QLowEnergyAdvertisingData &advData, const QLowEnergyAdvertisingData &responseData, QObject *parent)
Definition
qleadvertiser_bluez_p.h:41
QLeAdvertiser::advertisingData
const QLowEnergyAdvertisingData & advertisingData() const
Definition
qleadvertiser_bluez_p.h:49
QBluezConst
Definition
bluez_data_p.h:305
QBluezConst::OpCodeCommandField
OpCodeCommandField
Definition
bluez_data_p.h:312
QBluezConst::OcfLeReadTxPowerLevel
@ OcfLeReadTxPowerLevel
Definition
bluez_data_p.h:314
QBluezConst::OcfLeSetAdvEnable
@ OcfLeSetAdvEnable
Definition
bluez_data_p.h:317
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
forceIntoRange
static quint16 forceIntoRange(quint16 val, quint16 min, quint16 max)
Definition
qleadvertiser_bluez.cpp:160
servicesType
static quint8 servicesType(bool dataComplete)
addServicesData
static void addServicesData(AdvData &data, const QList< T > &services)
Definition
qleadvertiser_bluez.cpp:220
byteArrayFromStruct
static QByteArray byteArrayFromStruct(const T &data)
Definition
qleadvertiser_bluez.cpp:45
AdvData
Definition
qleadvertiser_bluez.cpp:33
AdvData::data
quint8 data[31]
Definition
qleadvertiser_bluez.cpp:35
AdvData::length
quint8 length
Definition
qleadvertiser_bluez.cpp:34
AdvParams
Definition
qleadvertiser_bluez.cpp:22
AdvParams::ownAddrType
quint8 ownAddrType
Definition
qleadvertiser_bluez.cpp:26
AdvParams::maxInterval
quint16 maxInterval
Definition
qleadvertiser_bluez.cpp:24
AdvParams::directAddrType
quint8 directAddrType
Definition
qleadvertiser_bluez.cpp:27
AdvParams::filterPolicy
quint8 filterPolicy
Definition
qleadvertiser_bluez.cpp:30
AdvParams::directAddr
bdaddr_t directAddr
Definition
qleadvertiser_bluez.cpp:28
AdvParams::channelMap
quint8 channelMap
Definition
qleadvertiser_bluez.cpp:29
AdvParams::minInterval
quint16 minInterval
Definition
qleadvertiser_bluez.cpp:23
AdvParams::type
quint8 type
Definition
qleadvertiser_bluez.cpp:25
WhiteListParams
Definition
qleadvertiser_bluez.cpp:38
WhiteListParams::addrType
quint8 addrType
Definition
qleadvertiser_bluez.cpp:39
WhiteListParams::addr
bdaddr_t addr
Definition
qleadvertiser_bluez.cpp:40
qtconnectivity
src
bluetooth
qleadvertiser_bluez_p.h
Generated on
for Qt by
1.18.0