Dokit
Internal development documentation
|
The InfoCommand class implements the info
CLI command.
More...
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 | |
InfoCommand (QObject *const parent=nullptr) | |
Construct a new InfoCommand 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 QMetaObject * | metaObject () 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) |
QThread * | thread () 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) |
T | 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 ®Exp, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
const QObjectList & | children () 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< QByteArray > | dynamicPropertyNames () const const |
void | destroyed (QObject *obj) |
void | objectNameChanged (const QString &objectName) |
QObject * | parent () const const |
bool | inherits (const char *className) const const |
void | deleteLater () |
Q_DISABLE_COPY (Class) | |
Q_DISABLE_MOVE (Class) | |
Q_DISABLE_COPY_MOVE (Class) | |
T | qobject_cast (QObject *object) |
T | qobject_cast (const QObject *object) |
T | qFindChild (const QObject *obj, const QString &name) |
QList< T > | qFindChildren (const QObject *obj, const QString &name) |
QList< T > | qFindChildren (const QObject *obj, const QRegExp ®Exp) |
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 | |
AbstractPokitService * | getService () 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 | |
QObject * | sender () 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 Attributes | |
DeviceInfoService * | service { nullptr } |
Bluetooth service this command interracts with. | |
Friends | |
class | TestInfoCommand |
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 | |
PokitDevice * | device { 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(). | |
PokitDiscoveryAgent * | discoveryAgent |
Agent for Pokit device descovery. | |
OutputFormat | format { OutputFormat::Text } |
Selected output format. | |
Properties inherited from QObject | |
objectName | |
The InfoCommand class implements the info
CLI command.
Definition at line 8 of file infocommand.h.
|
explicit |
Construct a new InfoCommand object with parent.
Definition at line 23 of file infocommand.cpp.
|
overrideprotectedvirtual |
Returns a Pokit service object for the derived command class.
This override returns a pointer to a DeviceInfoService object.
Implements DeviceCommand.
Definition at line 60 of file infocommand.cpp.
References DeviceCommand::device, PokitDevice::deviceInformation(), and service.
|
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 45 of file infocommand.cpp.
References QList::isEmpty(), and AbstractCommand::processOptions().
|
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 28 of file infocommand.cpp.
References AbstractCommand::requiredOptions().
|
overrideprotectedslot |
Handles service detail discovery events.
This override fetches the current device's information, and outputs it in the selected format.
Definition at line 75 of file infocommand.cpp.
References PokitDevice::controller(), AbstractCommand::Csv, DeviceCommand::device, DeviceCommand::disconnect(), AbstractCommand::escapeCsvField(), DeviceInfoService::firmwareRevision(), AbstractCommand::format, QString::fromLatin1(), DeviceInfoService::hardwareRevision(), QString::insert(), QString::isEmpty(), QBluetoothAddress::isNull(), QString::isNull(), QUuid::isNull(), AbstractCommand::Json, DeviceInfoService::manufacturer(), DeviceInfoService::modelNumber(), QLowEnergyController::remoteAddress(), QLowEnergyController::remoteDeviceUuid(), QLowEnergyController::remoteName(), DeviceInfoService::serialNumber(), service, DeviceCommand::serviceDetailsDiscovered(), DeviceInfoService::softwareRevision(), AbstractCommand::Text, QJsonDocument::toJson(), QByteArray::toStdString(), QBluetoothAddress::toString(), QUuid::toString(), and QObject::tr().
|
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:
Reimplemented from AbstractCommand.
Definition at line 34 of file infocommand.cpp.
References AbstractCommand::supportedOptions().
|
friend |
Definition at line 30 of file infocommand.h.
|
private |
Bluetooth service this command interracts with.
Definition at line 28 of file infocommand.h.
Referenced by getService(), and serviceDetailsDiscovered().