QtPokit
Native Qt library for Pokit devices
genericaccessservice.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2022 Paul Colby <git@colby.id.au>
2// SPDX-License-Identifier: LGPL-3.0-or-later
3
4/*!
5 * \file
6 * Declares the GenericAccessService class.
7 */
8
9#ifndef QTPOKIT_GENERICACCESSSERVICE_H
10#define QTPOKIT_GENERICACCESSSERVICE_H
11
13
14#include <QBluetoothAddress>
15#include <QBluetoothUuid>
16#include <QVersionNumber>
17
18QTPOKIT_BEGIN_NAMESPACE
19
20class GenericAccessServicePrivate;
21
22class QTPOKIT_EXPORT GenericAccessService : public AbstractPokitService
23{
24 Q_OBJECT
25
26public:
28
29 struct QTPOKIT_EXPORT CharacteristicUuids {
32 };
33
34 GenericAccessService(QLowEnergyController * const pokitDevice, QObject * parent = nullptr);
35 ~GenericAccessService() override;
36
37 bool readCharacteristics() override;
38 bool readAppearanceCharacteristic();
39 bool readDeviceNameCharacteristic();
40
41 // Appearance characteristic (BLE read only).
42 quint16 appearance() const;
43
44 // Device Name characteristic (BLE read/write).
45 QString deviceName() const;
46 bool setDeviceName(const QString &name);
47
48signals:
49 void appearanceRead(const quint16 appearance);
50 void deviceNameRead(const QString &deviceName);
52
53protected:
54 /// \cond internal
55 GenericAccessService(GenericAccessServicePrivate * const d, QObject * const parent);
56 /// \endcond
57
58private:
59 Q_DECLARE_PRIVATE(GenericAccessService)
60 Q_DISABLE_COPY(GenericAccessService)
61 friend class TestGenericAccessService;
62};
63
64QTPOKIT_END_NAMESPACE
65
66#endif // QTPOKIT_GENERICACCESSSERVICE_H
Declares the AbstractPokitService class.
The AbstractPokitService class provides a common base for Pokit services classes.
Definition: abstractpokitservice.h:24
virtual bool readCharacteristics()=0
Read all characteristics.
The GenericAccessService class accesses the Generic Access service of Pokit devices.
Definition: genericaccessservice.h:23
static const QBluetoothUuid serviceUuid
UUID of the "Generic Access" service.
Definition: genericaccessservice.h:27
void deviceNameWritten()
This signal is emitted when the Device Name characteristic has been written successfully.
void deviceNameRead(const QString &deviceName)
This signal is emitted when the Device Name characteristic has been read successfully.
void appearanceRead(const quint16 appearance)
This signal is emitted when the Appearance characteristic has been read successfully.
Characteristics available via the Generic Access service.
Definition: genericaccessservice.h:29
static const QBluetoothUuid deviceName
UUID of the Generic Access service's Device Name characterstic.
Definition: genericaccessservice.h:30
static const QBluetoothUuid appearance
UUID of the Generic Access service's Appearance characterstic.
Definition: genericaccessservice.h:31