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