Dokit
Internal development documentation
Loading...
Searching...
No Matches
setnamecommand.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
6class StatusService;
7
9{
11
12public:
13 explicit SetNameCommand(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 QString newName; ///< New name to set on the Pokit device.
29 StatusService * service { nullptr }; ///< Bluetooth service this command interracts with.
30
31private slots:
32 void deviceNameWritten();
33
34 friend class TestSetNameCommand;
35};
The AbstractPokitService class provides a common base for Pokit services classes.
The AbstractCommand class extends AbstractCommand to add a PokitDevice instance.
The SetNameCommand class implements the set-name CLI command.
void serviceDetailsDiscovered() override
Handles service detail discovery events.
void deviceNameWritten()
Handles StatusService::deviceNameWritten events, by outputting the result and exiting.
QString newName
New name to set on the Pokit device.
QStringList processOptions(const QCommandLineParser &parser) override
Processes the relevant options from the command line parser.
QStringList supportedOptions(const QCommandLineParser &parser) const override
Returns a list of CLI option names supported by this command.
QStringList requiredOptions(const QCommandLineParser &parser) const override
Returns a list of CLI option names required by this command.
AbstractPokitService * getService() override
Returns a Pokit service object for the derived command class.
SetNameCommand(QObject *const parent=nullptr)
Construct a new SetNameCommand object with parent.
StatusService * service
Bluetooth service this command interracts with.
The StatusService class accesses the Pokit Status service of Pokit devices.
Q_OBJECTQ_OBJECT
QObject * parent() const const