Dokit
Internal development documentation
Loading...
Searching...
No Matches
StatusCommand Class Reference

The StatusCommand class implements the status CLI command. More...

Inheritance diagram for StatusCommand:
[legend]
Collaboration diagram for StatusCommand:
[legend]

Public Slots

QStringList processOptions (const QCommandLineParser &parser) override
 Processes the relevant options from the command line parser.
 
- Public Slots inherited from DeviceCommand
bool start () override
 Begins scanning for the Pokit device.
 
- Public Slots inherited from AbstractCommand
virtual QStringList processOptions (const QCommandLineParser &parser)
 Processes the relevant options from the command line parser.
 
virtual bool start ()=0
 Begins the functionality of this command, and returns true if begun successfully, false otherwise.
 

Public Member Functions

 StatusCommand (QObject *const parent=nullptr)
 Construct a new StatusCommand object with parent.
 
QStringList requiredOptions (const QCommandLineParser &parser) const override
 Returns a list of CLI option names required by this command.
 
QStringList supportedOptions (const QCommandLineParser &parser) const override
 Returns a list of CLI option names supported by this command.
 
- Public Member Functions inherited from DeviceCommand
 DeviceCommand (QObject *const parent=nullptr)
 Construct a new DeviceCommand object with parent.
 
- Public Member Functions inherited from AbstractCommand
 AbstractCommand (QObject *const parent=nullptr)
 Constructs a new command with parent.
 
- Public Member Functions inherited from QObject
virtual const QMetaObjectmetaObject () const const
 
 QObject (QObject *parent)
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
QString objectName () const const
 
void setObjectName (const QString &name)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
bool signalsBlocked () const const
 
bool blockSignals (bool block)
 
QThreadthread () const const
 
void moveToThread (QThread *targetThread)
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds time, Qt::TimerType timerType)
 
void killTimer (int id)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
const QObjectListchildren () const const
 
void setParent (QObject *parent)
 
void installEventFilter (QObject *filterObj)
 
void removeEventFilter (QObject *obj)
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectTree ()
 
void dumpObjectInfo ()
 
void dumpObjectTree () const const
 
void dumpObjectInfo () const const
 
bool setProperty (const char *name, const QVariant &value)
 
QVariant property (const char *name) const const
 
QList< QByteArraydynamicPropertyNames () const const
 
void destroyed (QObject *obj)
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
bool inherits (const char *className) const const
 
void deleteLater ()
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
qobject_cast (QObject *object)
 
qobject_cast (const QObject *object)
 
qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
 Q_CLASSINFO (Name, Value)
 
 Q_INTERFACES (...)
 
 Q_PROPERTY (...)
 
 Q_ENUMS (...)
 
 Q_FLAGS (...)
 
 Q_ENUM (...)
 
 Q_FLAG (...)
 
 Q_ENUM_NS (...)
 
 Q_FLAG_NS (...)
 
 Q_OBJECT Q_OBJECT
 
 Q_GADGET Q_GADGET
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SLOTS Q_SLOTS
 
 Q_SLOT Q_SLOT
 
 Q_EMIT Q_EMIT
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 

Protected Slots

void serviceDetailsDiscovered () override
 Handles service detail discovery events.
 
- Protected Slots inherited from DeviceCommand
virtual void controllerError (const QLowEnergyController::Error error)
 Handles controller error events.
 
virtual void deviceDisconnected ()
 Handles devics disconnection events.
 
virtual void serviceError (const QLowEnergyService::ServiceError error)
 Handles service error events.
 
virtual void serviceDetailsDiscovered ()
 Handles service detail discovery events.
 
- Protected Slots inherited from AbstractCommand
virtual void deviceDiscovered (const QBluetoothDeviceInfo &info)=0
 Handles PokitDiscoveryAgent::pokitDeviceDiscovered signal.
 
virtual void deviceDiscoveryFinished ()=0
 Handles PokitDiscoveryAgent::deviceDiscoveryFinished signal.
 

Protected Member Functions

AbstractPokitServicegetService () override
 Returns a Pokit service object for the derived command class.
 
- Protected Member Functions inherited from DeviceCommand
void disconnect (int exitCode=EXIT_SUCCESS)
 Disconnects the underlying Pokit device, and sets exitCode to be return to the OS once the disconnection has taken place.
 
- Protected Member Functions inherited from QObject
QObjectsender () const const
 
int senderSignalIndex () const const
 
int receivers (const char *signal) const const
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
virtual void timerEvent (QTimerEvent *event)
 
virtual void childEvent (QChildEvent *event)
 
virtual void customEvent (QEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 

Private Member Functions

void outputDeviceStatus (const StatusService::DeviceCharacteristics &chrs)
 Outputs the Pokit device's details, including chrs, in the selected format.
 

Private Attributes

StatusServiceservice { nullptr }
 Bluetooth service this command interracts with.
 

Friends

class TestStatusCommand
 

Additional Inherited Members

- Public Types inherited from AbstractCommand
enum class  OutputFormat { Csv , Json , Text }
 Supported output formats. More...
 
- Static Public Member Functions inherited from AbstractCommand
static QString escapeCsvField (const QString &field)
 Returns an RFC 4180 compliant version of field.
 
template<typename R >
static quint32 parseNumber (const QString &value, const QString &unit, const quint32 sensibleMinimum=0)
 Returns value as an integer multiple of the ratio R.
 
- Static Public Member Functions inherited from QObject
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
- Public Attributes inherited from QObject
typedef QObjectList
 
- Static Protected Member Functions inherited from DeviceCommand
template<typename T >
static T minRange (const quint32 maxValue)
 
static quint8 minCapacitanceRange (const PokitProduct product, const quint32 maxValue)
 Returns the product's lowest capacitance range that can measure at least up to maxValue (nF), or AutoRange if no such range is available.
 
static quint8 minCurrentRange (const PokitProduct product, const quint32 maxValue)
 Returns the product's lowest current range that can measure at least up to maxValue (µA), or AutoRange if no such range is available.
 
static quint8 minResistanceRange (const PokitProduct product, const quint32 maxValue)
 Returns the product's lowest resistance range that can measure at least up to maxValue (Ω), or AutoRange if no such range is available.
 
static quint8 minVoltageRange (const PokitProduct product, const quint32 maxValue)
 t Returns the product's lowest voltage range that can measure at least up to maxValue (mV), or AutoRange if no such range is available.
 
- Static Protected Member Functions inherited from AbstractCommand
static Q_LOGGING_CATEGORY (lc, "dokit.cli.command", QtInfoMsg)
 Logging category for UI commands.
 
- Protected Attributes inherited from DeviceCommand
PokitDevicedevice { nullptr }
 Pokit Bluetooth device (if any) this command inerracts with.
 
int exitCodeOnDisconnect { EXIT_FAILURE }
 Exit code to return on device disconnection.
 
- Protected Attributes inherited from AbstractCommand
QString deviceToScanFor
 Device (if any) that were passed to processOptions().
 
PokitDiscoveryAgentdiscoveryAgent
 Agent for Pokit device descovery.
 
OutputFormat format { OutputFormat::Text }
 Selected output format.
 
- Properties inherited from QObject
 objectName
 

Detailed Description

The StatusCommand class implements the status CLI command.

Definition at line 8 of file statuscommand.h.

Constructor & Destructor Documentation

◆ StatusCommand()

StatusCommand::StatusCommand ( QObject *const parent = nullptr)
explicit

Construct a new StatusCommand object with parent.

Definition at line 22 of file statuscommand.cpp.

23{
24
25}
DeviceCommand(QObject *const parent=nullptr)
Construct a new DeviceCommand object with parent.
QObject * parent() const const

Member Function Documentation

◆ getService()

AbstractPokitService * StatusCommand::getService ( )
overrideprotectedvirtual

Returns a Pokit service object for the derived command class.

This override returns a pointer to a StatusService object.

Implements DeviceCommand.

Definition at line 59 of file statuscommand.cpp.

60{
61 Q_ASSERT(device);
62 if (!service) {
64 Q_ASSERT(service);
65 }
66 return service;
67}
PokitDevice * device
Pokit Bluetooth device (if any) this command inerracts with.
StatusService * status()
Returns a pointer to StatusService instance that uses this device's controller for access.
StatusService * service
Bluetooth service this command interracts with.

References DeviceCommand::device, service, and PokitDevice::status().

Here is the call graph for this function:

◆ outputDeviceStatus()

void StatusCommand::outputDeviceStatus ( const StatusService::DeviceCharacteristics & chrs)
private

Outputs the Pokit device's details, including chrs, in the selected format.

Definition at line 89 of file statuscommand.cpp.

90{
91 const QString deviceName = service->deviceName();
92 const StatusService::Status status = service->status();
93 const std::optional<StatusService::TorchStatus> torchStatus = service->torchStatus();
94 const std::optional<StatusService::ButtonStatus> buttonStatus = service->buttonPress();
95 const QString statusLabel = StatusService::toString(status.deviceStatus);
96 const QString batteryLabel = StatusService::toString(status.batteryStatus);
97 const QString switchLabel = status.switchPosition ? StatusService::toString(*status.switchPosition) : QString();
98 const QString chargingLabel = status.chargingStatus ? StatusService::toString(*status.chargingStatus) : QString();
99 const QString torchLabel = (torchStatus) ? StatusService::toString(*torchStatus) : QString();
100 const QString buttonLabel = (buttonStatus) ? StatusService::toString(*buttonStatus) : QString();
101
102 switch (format) {
104 std::cout << qUtf8Printable(tr("device_name,device_status,firmware_version,maximum_voltage,"
105 "maximum_current,maximum_resistance,maximum_sampling_rate,"
106 "sampling_buffer_size,capability_mask,mac_address,battery_voltage,"
107 "battery_status,torch_status,button_status,switch_position,charging_status\n"));
108 std::cout << qUtf8Printable(QString::fromLatin1("%1,%2,%3,%4,%5,%6,%7,%8,%9,%10,%11,%12,%13,%14,%15,%16\n")
109 .arg(escapeCsvField(deviceName),statusLabel.toLower(),chrs.firmwareVersion.toString())
112 .arg(chrs.macAddress.toString()).arg(status.batteryVoltage)
113 .arg(batteryLabel.toLower(), torchLabel.toLower(), buttonLabel.toLower(), switchLabel.toLower(),
114 chargingLabel.toLower()));
115 break;
116 case OutputFormat::Json: {
117 QJsonObject battery{
118 { QLatin1String("level"), status.batteryVoltage },
119 };
120 if (!batteryLabel.isNull()) {
121 battery.insert(QLatin1String("status"), batteryLabel);
122 }
123 QJsonObject object{
124 { QLatin1String("deviceName"), deviceName },
125 { QLatin1String("firmwareVersion"), QJsonObject{
126 { QLatin1String("major"), chrs.firmwareVersion.majorVersion() },
127 { QLatin1String("minor"), chrs.firmwareVersion.minorVersion() },
128 }},
129 { QLatin1String("maximumVoltage"), chrs.maximumVoltage },
130 { QLatin1String("maximumCurrent"), chrs.maximumCurrent },
131 { QLatin1String("maximumResistance"), chrs.maximumResistance },
132 { QLatin1String("maximumSamplingRate"), chrs.maximumSamplingRate },
133 { QLatin1String("samplingBufferSize"), chrs.samplingBufferSize },
134 { QLatin1String("capabilityMask"), chrs.capabilityMask },
135 { QLatin1String("macAddress"), chrs.macAddress.toString() },
136 { QLatin1String("deviceStatus"), QJsonObject{
137 { QLatin1String("code"), (quint8)status.deviceStatus },
138 { QLatin1String("label"), statusLabel },
139 }},
140 { QLatin1String("battery"), battery },
141 };
142 if (torchStatus) {
143 object.insert(QStringLiteral("torchStatus"), QJsonObject{
144 { QLatin1String("code"), (quint8)*torchStatus },
145 { QLatin1String("label"), torchLabel },
146 });
147 }
148 if (buttonStatus) {
149 object.insert(QStringLiteral("buttonStatus"), QJsonObject{
150 { QLatin1String("code"), (quint8)*buttonStatus },
151 { QLatin1String("label"), buttonLabel },
152 });
153 }
154 if (status.switchPosition) {
155 object.insert(QStringLiteral("switchStatus"), QJsonObject{
156 { QLatin1String("code"), (quint8)*status.switchPosition },
157 { QLatin1String("label"), switchLabel },
158 });
159 }
160 if (status.chargingStatus) {
161 object.insert(QStringLiteral("chargingStatus"), QJsonObject{
162 { QLatin1String("code"), (quint8)*status.chargingStatus },
163 { QLatin1String("label"), chargingLabel },
164 });
165 }
166 std::cout << QJsonDocument(object).toJson().toStdString();
167 } break;
169 std::cout << qUtf8Printable(tr("Device name: %1\n").arg(deviceName));
170 std::cout << qUtf8Printable(tr("Firmware version: %1\n").arg(chrs.firmwareVersion.toString()));
171 std::cout << qUtf8Printable(tr("Maximum voltage: %1\n").arg(chrs.maximumVoltage));
172 std::cout << qUtf8Printable(tr("Maximum current: %1\n").arg(chrs.maximumCurrent));
173 std::cout << qUtf8Printable(tr("Maximum resistance: %1\n").arg(chrs.maximumResistance));
174 std::cout << qUtf8Printable(tr("Maximum sampling rate: %1\n").arg(chrs.maximumSamplingRate));
175 std::cout << qUtf8Printable(tr("Sampling buffer size: %1\n").arg(chrs.samplingBufferSize));
176 std::cout << qUtf8Printable(tr("Capability mask: %1\n").arg(chrs.capabilityMask));
177 std::cout << qUtf8Printable(tr("MAC address: %1\n").arg(chrs.macAddress.toString()));
178 std::cout << qUtf8Printable(tr("Device status: %1 (%2)\n").arg(statusLabel)
179 .arg((quint8)status.deviceStatus));
180 std::cout << qUtf8Printable(tr("Battery voltage: %1\n").arg(status.batteryVoltage));
181 std::cout << qUtf8Printable(tr("Battery status: %1 (%2)\n")
182 .arg(batteryLabel.isNull() ? QString::fromLatin1("N/A") : batteryLabel)
183 .arg((quint8)status.batteryStatus));
184 if (status.switchPosition) {
185 std::cout << qUtf8Printable(tr("Switch position: %1 (%2)\n")
186 .arg(switchLabel).arg((quint8)*status.switchPosition));
187 }
188 if (status.chargingStatus) {
189 std::cout << qUtf8Printable(tr("Charging status: %1 (%2)\n")
190 .arg(chargingLabel).arg((quint8)*status.chargingStatus));
191 }
192 break;
193 }
194 if (device) disconnect(); // Will exit the application once disconnected.
195}
OutputFormat format
Selected output format.
@ Text
Plain unstructured text.
@ Csv
RFC 4180 compliant CSV text.
@ Json
RFC 8259 compliant JSON text.
static QString escapeCsvField(const QString &field)
Returns an RFC 4180 compliant version of field.
void disconnect(int exitCode=EXIT_SUCCESS)
Disconnects the underlying Pokit device, and sets exitCode to be return to the OS once the disconnect...
QString deviceName() const
Returns the most recent value of the Status services's Device Name characteristic.
std::optional< ButtonStatus > buttonPress() const
Returns the most recent value of the Status services's Button Press characteristic.
static QString toString(const StatusService::DeviceStatus &status)
Returns a string version of the status enum label.
std::optional< TorchStatus > torchStatus() const
Returns the most recent value of the Status services's Torch characteristic.
Status status() const
Returns the most recent value of the Status service's Status characteristic.
QString toString() const const
std::string toStdString() const const
QByteArray toJson() const const
QString tr(const char *sourceText, const char *disambiguation, int n)
QString arg(qlonglong a, int fieldWidth, int base, QChar fillChar) const const
QString fromLatin1(const char *str, int size)
bool isNull() const const
QString toLower() const const
int majorVersion() const const
int minorVersion() const const
QString toString() const const
quint16 maximumCurrent
Device's maximum input current.
quint16 maximumSamplingRate
Device's maximum sampling rate.
quint16 samplingBufferSize
Device's sampling buffer size.
quint16 maximumVoltage
Device's maximum input voltage.
QBluetoothAddress macAddress
Device's MAC address.
quint16 maximumResistance
Device's maximum input resistance.
QVersionNumber firmwareVersion
Device's major and minor firmware version.
Attributes included in the Status characterstic.
float batteryVoltage
Current battery voltage level.
std::optional< ChargingStatus > chargingStatus
Current charging status, if supported by the device.
DeviceStatus deviceStatus
Current Pokit device status.
BatteryStatus batteryStatus
Logical interpretation the battery voltage level.
std::optional< SwitchPosition > switchPosition
Position of the Pokit device's physical mode switch.

References QString::arg(), StatusService::Status::batteryStatus, StatusService::Status::batteryVoltage, StatusService::buttonPress(), StatusService::DeviceCharacteristics::capabilityMask, StatusService::Status::chargingStatus, AbstractCommand::Csv, DeviceCommand::device, StatusService::deviceName(), StatusService::Status::deviceStatus, DeviceCommand::disconnect(), AbstractCommand::escapeCsvField(), StatusService::DeviceCharacteristics::firmwareVersion, AbstractCommand::format, QString::fromLatin1(), QString::isNull(), AbstractCommand::Json, StatusService::DeviceCharacteristics::macAddress, QVersionNumber::majorVersion(), StatusService::DeviceCharacteristics::maximumCurrent, StatusService::DeviceCharacteristics::maximumResistance, StatusService::DeviceCharacteristics::maximumSamplingRate, StatusService::DeviceCharacteristics::maximumVoltage, QVersionNumber::minorVersion(), StatusService::DeviceCharacteristics::samplingBufferSize, service, StatusService::status(), StatusService::Status::switchPosition, AbstractCommand::Text, QJsonDocument::toJson(), QString::toLower(), StatusService::torchStatus(), QByteArray::toStdString(), QBluetoothAddress::toString(), QVersionNumber::toString(), StatusService::toString(), and QObject::tr().

Referenced by serviceDetailsDiscovered().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ processOptions

QStringList StatusCommand::processOptions ( const QCommandLineParser & parser)
overrideslot

Processes the relevant options from the command line parser.

This implementation extends DeviceCommand::processOptions to process additional CLI options supported (or required) by this command.

Definition at line 44 of file statuscommand.cpp.

45{
47 if (!errors.isEmpty()) {
48 return errors;
49 }
50
51 return errors;
52}
virtual QStringList processOptions(const QCommandLineParser &parser)
Processes the relevant options from the command line parser.
bool isEmpty() const const

References QList::isEmpty(), and AbstractCommand::processOptions().

Here is the call graph for this function:

◆ requiredOptions()

QStringList StatusCommand::requiredOptions ( const QCommandLineParser & parser) const
overridevirtual

Returns a list of CLI option names required by this command.

The main console appication may use this list to output an eror (and exit) if any of the returned names are not found in the parsed CLI options.

The (already parsed) parser may be used adjust the returned required options depending on the value of other options. For example, the logger command only requires the --mode option if the --command option is start.

This base implementation simply returns an empty list. Derived classes should override this function to include any required options.

Reimplemented from AbstractCommand.

Definition at line 27 of file statuscommand.cpp.

28{
30 };
31}
virtual QStringList requiredOptions(const QCommandLineParser &parser) const
Returns a list of CLI option names required by this command.

References AbstractCommand::requiredOptions().

Here is the call graph for this function:

◆ serviceDetailsDiscovered

void StatusCommand::serviceDetailsDiscovered ( )
overrideprotectedslot

Handles service detail discovery events.

This override fetches the current device's status, and outputs it in the selected format.

Definition at line 74 of file statuscommand.cpp.

75{
76 DeviceCommand::serviceDetailsDiscovered(); // Just logs consistently.
78 if (chrs.firmwareVersion.isNull()) {
79 qCWarning(lc).noquote() << tr("Failed to parse device information");
80 QCoreApplication::exit(EXIT_FAILURE);
81 return;
82 }
84}
virtual void serviceDetailsDiscovered()
Handles service detail discovery events.
void outputDeviceStatus(const StatusService::DeviceCharacteristics &chrs)
Outputs the Pokit device's details, including chrs, in the selected format.
DeviceCharacteristics deviceCharacteristics() const
Returns the most recent value of the Status service's Device Characteristics characteristic.
void exit(int returnCode)
bool isNull() const const
Attributes included in the Device Characteristics characterstic.

References StatusService::deviceCharacteristics(), QCoreApplication::exit(), StatusService::DeviceCharacteristics::firmwareVersion, QVersionNumber::isNull(), outputDeviceStatus(), service, DeviceCommand::serviceDetailsDiscovered(), and QObject::tr().

Here is the call graph for this function:

◆ supportedOptions()

QStringList StatusCommand::supportedOptions ( const QCommandLineParser & parser) const
overridevirtual

Returns a list of CLI option names supported by this command.

The main console appication may use this list to output a warning for any parsed CLI options not included in the returned list.

The (already parsed) parser may be used adjust the returned supported options depending on the value of other options. For example, the logger command only supported the --timestamp option if the --command option is start.

This base implementation simply returns requiredOptions(). Derived classes should override this function to include optional options, such as:

QStringList Derived::supportedOptions(const QCommandLineParser &parser) const
{
list.sort();
list.removeDuplicates(); // Optional, recommended.
return list;
}
virtual QStringList supportedOptions(const QCommandLineParser &parser) const
Returns a list of CLI option names supported by this command.
int removeDuplicates()
void sort(Qt::CaseSensitivity cs)

Reimplemented from AbstractCommand.

Definition at line 33 of file statuscommand.cpp.

34{
36}

References AbstractCommand::supportedOptions().

Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ TestStatusCommand

friend class TestStatusCommand
friend

Definition at line 32 of file statuscommand.h.

Member Data Documentation

◆ service

StatusService* StatusCommand::service { nullptr }
private

Bluetooth service this command interracts with.

Definition at line 28 of file statuscommand.h.

28{ nullptr }; ///< Bluetooth service this command interracts with.

Referenced by getService(), outputDeviceStatus(), and serviceDetailsDiscovered().


The documentation for this class was generated from the following files: