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 DsoServicePrivate class. 7 : */ 8 : 9 : #ifndef QTPOKIT_DSOSERVICE_P_H 10 : #define QTPOKIT_DSOSERVICE_P_H 11 : 12 : #include <qtpokit/dsoservice.h> 13 : 14 : #include "abstractpokitservice_p.h" 15 : 16 : QTPOKIT_BEGIN_NAMESPACE 17 : 18 : class QTPOKIT_EXPORT DsoServicePrivate : public AbstractPokitServicePrivate 19 : { 20 72 : Q_OBJECT 21 : 22 : public: 23 : explicit DsoServicePrivate(QLowEnergyController * controller, DsoService * const q); 24 : 25 : static QByteArray encodeSettings(const DsoService::Settings &settings); 26 : 27 : static DsoService::Metadata parseMetadata(const QByteArray &value); 28 : static DsoService::Samples parseSamples(const QByteArray &value); 29 : 30 : protected: 31 : void characteristicRead(const QLowEnergyCharacteristic &characteristic, 32 : const QByteArray &value) override; 33 : void characteristicWritten(const QLowEnergyCharacteristic &characteristic, 34 : const QByteArray &newValue) override; 35 : void characteristicChanged(const QLowEnergyCharacteristic &characteristic, 36 : const QByteArray &newValue) override; 37 : 38 : private: 39 54 : Q_DECLARE_PUBLIC(DsoService) 40 : Q_DISABLE_COPY(DsoServicePrivate) 41 : friend class TestDsoService; 42 : }; 43 : 44 : QTPOKIT_END_NAMESPACE 45 : 46 : #endif // QTPOKIT_DSOSERVICE_P_H