Dokit
Internal development documentation
|
The PokitDevice class simplifies Pokit device access. More...
Public Member Functions | |
PokitDevice (const QBluetoothDeviceInfo &deviceInfo, QObject *parent=nullptr) | |
Constructs a new Pokit device controller wrapper for deviceInfo, with parent. | |
PokitDevice (QLowEnergyController *controller, QObject *parent=nullptr) | |
Constructs a new Pokit device controller wrapper for controller, with parent. | |
virtual | ~PokitDevice () |
Destroys this PokitDevice object. | |
QLowEnergyController * | controller () |
Returns a non-const pointer to the controller used to access the Pokit device. | |
const QLowEnergyController * | controller () const |
Returns a const pointer to the controller used to access the Pokit device. | |
CalibrationService * | calibration () |
Returns a pointer to a CalibrationService instance that uses this device's controller for access. | |
DataLoggerService * | dataLogger () |
Returns a pointer to a DataLoggerService instance that uses this device's controller for access. | |
DeviceInfoService * | deviceInformation () |
Returns a pointer to DeviceInformationService instance that uses this device's controller for access. | |
DsoService * | dso () |
Returns a pointer to DsoService instance that uses this device's controller for access. | |
MultimeterService * | multimeter () |
Returns a pointer to MultimeterService instance that uses this device's controller for access. | |
StatusService * | status () |
Returns a pointer to StatusService instance that uses this device's controller for access. | |
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 | |
Static Public Member Functions | |
static QString | serviceToString (const QBluetoothUuid &uuid) |
Returns a human-readable name for the uuid service, or a null QString if unknonw. | |
static QString | charcteristicToString (const QBluetoothUuid &uuid) |
Returns a human-readable name for the uuid characteristic, or a null QString if unknown. | |
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) |
Protected Member Functions | |
PokitDevice (PokitDevicePrivate *const d, QObject *const parent) | |
Constructs a new Pokit device controller wrapper with parent, and private implementation d. | |
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) |
Protected Attributes | |
PokitDevicePrivate * | d_ptr |
Internal d-pointer. | |
Friends | |
class | TestPokitDevice |
Additional Inherited Members | |
Public Attributes inherited from QObject | |
typedef | QObjectList |
Properties inherited from QObject | |
objectName | |
The PokitDevice class simplifies Pokit device access.
It does this by wrapping QLowEnergyController to provide:
But this class is entirely optional, in that all features of all other QtPokit classes can be used wihtout this class. It's just a (meaningful) convenience.
Definition at line 30 of file pokitdevice.h.
|
explicit |
Constructs a new Pokit device controller wrapper for deviceInfo, with parent.
Though not strictly necessary, deviceInfo should normally come from a PokitDiscoveryAgent instance (or a QBluetoothDeviceDiscoveryAgent), otherwise connection is likely to fail with QLowEnergyController::UnknownRemoteDeviceError.
Definition at line 43 of file pokitdevice.cpp.
References QLowEnergyController::createCentral().
|
explicit |
Constructs a new Pokit device controller wrapper for controller, with parent.
Definition at line 53 of file pokitdevice.cpp.
References controller().
|
virtual |
|
protected |
Constructs a new Pokit device controller wrapper with parent, and private implementation d.
Derived classes using this constructor should use PokitDevicePrivate::setController to assign the BLE controller as some point.
Definition at line 67 of file pokitdevice.cpp.
CalibrationService * PokitDevice::calibration | ( | ) |
Returns a pointer to a CalibrationService instance that uses this device's controller for access.
This is a convenience function, that always returns the same pointer (for this PokitDevice instance), but the service itself is lazily created (in a threadsafe manner) on the first invocation of this function.
Definition at line 117 of file pokitdevice.cpp.
References calibration().
Referenced by calibration(), and CalibrateCommand::getService().
|
static |
Returns a human-readable name for the uuid characteristic, or a null QString if unknown.
This is equivalent to QBluetoothUuid::characteristicToString() but for characteristics provided by Pokit devices.
Definition at line 218 of file pokitdevice.cpp.
References StatusService::CharacteristicUuids::buttonPress, QBluetoothUuid::characteristicToString(), StatusService::CharacteristicUuids::deviceCharacteristics, DeviceInfoService::CharacteristicUuids::firmwareRevision, StatusService::CharacteristicUuids::flashLed, CalibrationService::CharacteristicUuids::getParam, DeviceInfoService::CharacteristicUuids::hardwareRevision, DeviceInfoService::CharacteristicUuids::manufacturerName, DataLoggerService::CharacteristicUuids::metadata, DsoService::CharacteristicUuids::metadata, DeviceInfoService::CharacteristicUuids::modelNumber, StatusService::CharacteristicUuids::name, DataLoggerService::CharacteristicUuids::reading, DsoService::CharacteristicUuids::reading, MultimeterService::CharacteristicUuids::reading, DeviceInfoService::CharacteristicUuids::serialNumber, CalibrationService::CharacteristicUuids::setParam, DataLoggerService::CharacteristicUuids::settings, DsoService::CharacteristicUuids::settings, MultimeterService::CharacteristicUuids::settings, DeviceInfoService::CharacteristicUuids::softwareRevision, StatusService::CharacteristicUuids::status, CalibrationService::CharacteristicUuids::temperature, StatusService::CharacteristicUuids::torch, and QObject::tr().
Referenced by AbstractPokitServicePrivate::characteristicChanged(), AbstractPokitServicePrivate::characteristicRead(), AbstractPokitServicePrivate::characteristicWritten(), AbstractPokitServicePrivate::disableCharacteristicNotificatons(), AbstractPokitServicePrivate::enableCharacteristicNotificatons(), AbstractPokitServicePrivate::getCharacteristic(), AbstractPokitServicePrivate::readCharacteristic(), and AbstractPokitServicePrivate::stateChanged().
QLowEnergyController * PokitDevice::controller | ( | ) |
Returns a non-const pointer to the controller used to access the Pokit device.
Definition at line 85 of file pokitdevice.cpp.
Referenced by DeviceCommand::deviceDiscovered(), DeviceCommand::disconnect(), PokitDevice(), and InfoCommand::serviceDetailsDiscovered().
const QLowEnergyController * PokitDevice::controller | ( | ) | const |
Returns a const pointer to the controller used to access the Pokit device.
Definition at line 94 of file pokitdevice.cpp.
DataLoggerService * PokitDevice::dataLogger | ( | ) |
Returns a pointer to a DataLoggerService instance that uses this device's controller for access.
This is a convenience function, that always returns the same pointer (for this PokitDevice instance), but the service itself is lazily created (in a threadsafe manner) on the first invocation of this function.
Definition at line 129 of file pokitdevice.cpp.
References dataLogger().
Referenced by dataLogger(), LoggerFetchCommand::getService(), LoggerStartCommand::getService(), and LoggerStopCommand::getService().
DeviceInfoService * PokitDevice::deviceInformation | ( | ) |
Returns a pointer to DeviceInformationService instance that uses this device's controller for access.
This is a convenience function, that always returns the same pointer (for this PokitDevice instance), but the service itself is lazily created (in a threadsafe manner) on the first invocation of this function.
Definition at line 142 of file pokitdevice.cpp.
Referenced by InfoCommand::getService().
DsoService * PokitDevice::dso | ( | ) |
Returns a pointer to DsoService instance that uses this device's controller for access.
This is a convenience function, that always returns the same pointer (for this PokitDevice instance), but the service itself is lazily created (in a threadsafe manner) on the first invocation of this function.
Definition at line 154 of file pokitdevice.cpp.
References dso().
Referenced by dso(), and DsoCommand::getService().
MultimeterService * PokitDevice::multimeter | ( | ) |
Returns a pointer to MultimeterService instance that uses this device's controller for access.
This is a convenience function, that always returns the same pointer (for this PokitDevice instance), but the service itself is lazily created (in a threadsafe manner) on the first invocation of this function.
Definition at line 166 of file pokitdevice.cpp.
References multimeter().
Referenced by MeterCommand::getService(), and multimeter().
|
static |
Returns a human-readable name for the uuid service, or a null QString if unknonw.
This is equivalent to QBluetoothUuid::serviceClassToString() but for services provided by Pokit devices.
Definition at line 190 of file pokitdevice.cpp.
References StatusService::ServiceUuids::pokitMeter, StatusService::ServiceUuids::pokitPro, QBluetoothUuid::serviceClassToString(), CalibrationService::serviceUuid, DataLoggerService::serviceUuid, DeviceInfoService::serviceUuid, DsoService::serviceUuid, MultimeterService::serviceUuid, and QObject::tr().
Referenced by AbstractPokitServicePrivate::getCharacteristic(), and PokitDevicePrivate::serviceDiscovered().
StatusService * PokitDevice::status | ( | ) |
Returns a pointer to StatusService instance that uses this device's controller for access.
This is a convenience function, that always returns the same pointer (for this PokitDevice instance), but the service itself is lazily created (in a threadsafe manner) on the first invocation of this function.
Definition at line 178 of file pokitdevice.cpp.
References status().
Referenced by FlashLedCommand::getService(), SetNameCommand::getService(), SetTorchCommand::getService(), StatusCommand::getService(), and status().
|
friend |
Definition at line 65 of file pokitdevice.h.
|
protected |