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 : #include "devicecommand.h" 5 : 6 : #include <qtpokit/dataloggerservice.h> 7 : 8 1020 : class LoggerFetchCommand : public DeviceCommand 9 : { 10 : public: 11 : explicit LoggerFetchCommand(QObject * const parent); 12 : 13 : protected: 14 : AbstractPokitService * getService() override; 15 : 16 : protected slots: 17 : void serviceDetailsDiscovered() override; 18 : 19 : private: 20 : DataLoggerService * service; ///< Bluetooth service this command interracts with. 21 : DataLoggerService::Metadata metadata; ///< Most recent data logging metadata. 22 : qint32 samplesToGo; ///< Number of samples we're still expecting to receive. 23 : quint64 timestamp; ///< Current sample's epoch milliseconds timestamp. 24 : bool showCsvHeader; ///< Whether or not to show a header as the first line of CSV output. 25 : 26 : private slots: 27 : void metadataRead(const DataLoggerService::Metadata &metadata); 28 : void outputSamples(const DataLoggerService::Samples &samples); 29 : 30 : friend class TestLoggerFetchCommand; 31 : };