18#include <QtCore/QObject>
19#include <QtCore/QList>
21#include <QtCore/QSocketNotifier>
22#include <QtBluetooth/QBluetoothAddress>
23#include "bluez/bluez_data_p.h"
27class QLowEnergyConnectionParameters;
159 explicit HciManager(
const QBluetoothAddress &deviceAdapter);
175 const QLowEnergyConnectionParameters ¶ms);
188 int hciForAddress(
const QBluetoothAddress &deviceAdapter);
189 void handleHciEventPacket(
const quint8 *data,
int size);
190 void handleHciAclPacket(
const quint8 *data,
int size);
191 void handleLeMetaEvent(
const quint8 *data,
int size);
195 quint8 sigPacketIdentifier = 0;
196 QSocketNotifier *notifier =
nullptr;
197 QSet<HciManager::HciEvent> runningEvents;
static void hci_filter_all_events(struct hci_filter *f)
#define SIGNALING_CHANNEL_ID
static void hci_filter_set_ptype(int t, struct hci_filter *f)
QUuid::Id128Bytes BluezUint128
#define HCI_EVENT_HDR_SIZE
static void hci_filter_clear(struct hci_filter *f)
#define SECURITY_CHANNEL_ID
#define opCodePack(ogf, ocf)
#define HCI_MAX_EVENT_SIZE
bool sendConnectionUpdateCommand(quint16 handle, const QLowEnergyConnectionParameters ¶ms)
@ HCI_PAIRING_NOT_ALLOWED
@ HCI_INSUFFICIENT_SECURITY
@ HCI_LMP_ERROR_TRANSACTION_COLLISION
@ HCI_UNSUPPORTED_REMOTE_FEATURE
@ HCI_REJECTED_LIMITED_RESOURCES
@ HCI_ENCRYPTION_MODE_NOT_ACCEPTED
@ HCI_SIMPLE_PAIRING_NOT_SUPPORTED
@ HCI_LMP_PDU_NOT_ALLOWED
@ HCI_INVALID_LMP_PARAMETERS
@ HCI_UNSUPPORTED_LMP_PARAMETER_VALUE
@ HCI_SCO_INTERVAL_REJECTED
@ HCI_AUTHENTICATION_FAILURE
@ HCI_PAIRING_NOT_SUPPORTED
@ HCI_ROLE_SWITCH_PENDING
@ HCI_QOS_UNACCEPTABLE_PARAMETER
@ HCI_UNSUPPORTED_FEATURE
@ HCI_CLASSIFICATION_NOT_SUPPORTED
@ HCI_ACL_CONNECTION_EXISTS
@ HCI_CONNECTION_TERMINATED
@ HCI_OE_USER_ENDED_CONNECTION
@ HCI_MAX_NUMBER_OF_SCO_CONNECTIONS
@ HCI_SCO_OFFSET_REJECTED
@ HCI_LMP_RESPONSE_TIMEOUT
@ HCI_MAX_NUMBER_OF_CONNECTIONS
@ HCI_PARAMETER_OUT_OF_RANGE
@ HCI_TRANSACTION_COLLISION
@ HCI_ROLE_CHANGE_NOT_ALLOWED
bool sendCommand(QBluezConst::OpCodeGroupField ogf, QBluezConst::OpCodeCommandField ocf, const QByteArray ¶meters)
QList< quint16 > activeLowEnergyConnections() const
HciManager(const QBluetoothAddress &deviceAdapter)
bool sendConnectionParameterUpdateRequest(quint16 handle, const QLowEnergyConnectionParameters ¶ms)
bool monitorEvent(HciManager::HciEvent event)
void commandCompleted(quint16 opCode, quint8 status, const QByteArray &data)
QBluetoothAddress addressForConnectionHandle(quint16 handle) const
void connectionUpdate(quint16 handle, const QLowEnergyConnectionParameters ¶meters)
void connectionComplete(quint16 handle)
void signatureResolvingKeyReceived(quint16 connHandle, bool remoteKey, BluezUint128 csrk)
quint16 forceIntervalIntoRange(double connectionInterval)
ConnectionUpdateData connectionUpdateData(const QLowEnergyConnectionParameters ¶ms)
QT_BEGIN_NAMESPACE Q_DECLARE_LOGGING_CATEGORY(lcEventDispatcher)