Dokit
Native Qt library for Pokit devices
Loading...
Searching...
No Matches
genericaccessservice.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2022-2023 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)
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:25
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.
Q_DISABLE_COPY(Class)
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