Dokit
Internal development documentation
Loading...
Searching...
No Matches
calibratecommand.h
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
7
9{
11
12public:
13 explicit CalibrateCommand(QObject * const parent = nullptr);
14
15 QStringList requiredOptions(const QCommandLineParser &parser) const override;
16 QStringList supportedOptions(const QCommandLineParser &parser) const override;
17
18public slots:
19 QStringList processOptions(const QCommandLineParser &parser) override;
20
21protected:
23
24protected slots:
25 void serviceDetailsDiscovered() override;
26
27private:
28 CalibrationService * service { nullptr }; ///< Bluetooth service this command interracts with.
29 float temperature { std::numeric_limits<float>::quiet_NaN() }; ///< Ambient temperature from the CLI options.
30
31private slots:
33
34 friend class TestCalibrateCommand;
35};
The AbstractPokitService class provides a common base for Pokit services classes.
The CalibrateCommand class implements the calibrate CLI command.
QStringList processOptions(const QCommandLineParser &parser) override
Processes the relevant options from the command line parser.
CalibrateCommand(QObject *const parent=nullptr)
Construct a new CalibrateCommand object with parent.
CalibrationService * service
Bluetooth service this command interracts with.
float temperature
Ambient temperature from the CLI options.
AbstractPokitService * getService() override
Returns a Pokit service object for the derived command class.
QStringList supportedOptions(const QCommandLineParser &parser) const override
Returns a list of CLI option names supported by this command.
void serviceDetailsDiscovered() override
Handles service detail discovery events.
QStringList requiredOptions(const QCommandLineParser &parser) const override
Returns a list of CLI option names required by this command.
void temperatureCalibrated()
Handles CalibrationService::temperatureCalibrated events, by outputting the result and exiting.
The CalibrationService class accesses the Calibrartion service of Pokit devices.
The AbstractCommand class extends AbstractCommand to add a PokitDevice instance.
Q_OBJECTQ_OBJECT
QObject * parent() const const