Line data Source code
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 StatusServicePrivate class. 7 : */ 8 : 9 : #ifndef QTPOKIT_STATUSSERVICE_P_H 10 : #define QTPOKIT_STATUSSERVICE_P_H 11 : 12 : #include <qtpokit/statusservice.h> 13 : 14 : #include "abstractpokitservice_p.h" 15 : 16 : QTPOKIT_BEGIN_NAMESPACE 17 : 18 : class QTPOKIT_EXPORT StatusServicePrivate : public AbstractPokitServicePrivate 19 : { 20 36 : Q_OBJECT 21 : 22 : public: 23 : explicit StatusServicePrivate(QLowEnergyController * controller, StatusService * const q); 24 : 25 : static StatusService::DeviceCharacteristics parseDeviceCharacteristics(const QByteArray &value); 26 : static StatusService::Status parseStatus(const QByteArray &value); 27 : 28 : protected: 29 : void serviceDiscovered(const QBluetoothUuid &newService) override; 30 : 31 : void characteristicRead(const QLowEnergyCharacteristic &characteristic, 32 : const QByteArray &value) override; 33 : void characteristicWritten(const QLowEnergyCharacteristic &characteristic, 34 : const QByteArray &newValue) override; 35 : 36 : private: 37 36 : Q_DECLARE_PUBLIC(StatusService) 38 : Q_DISABLE_COPY(StatusServicePrivate) 39 : friend class TestStatusService; 40 : }; 41 : 42 : QTPOKIT_END_NAMESPACE 43 : 44 : #endif // QTPOKIT_STATUSSERVICE_P_H