CuteHMI - Services (CuteHMI.Services.3)
|
Abstract service. More...
#include <cutehmi/services/AbstractService.hpp>
Public Slots | |
void | start () |
void | stop () |
void | activate () |
Signals | |
void | stopTimeoutChanged () |
void | startTimeoutChanged () |
void | repairTimeoutChanged () |
void | shutdownTimeoutChanged () |
void | nameChanged () |
void | statusChanged () |
void | started () |
void | stopped () |
void | activated () |
void | initialized () |
This signal is emitted, when service has performed all the initialization tasks and it is ready to be started. More... | |
Public Member Functions | |
~AbstractService () override | |
int | shutdownTimeout () const |
void | setShutdownTimeout (int shutdownTimeout) |
Set shutdown timeout. More... | |
int | stopTimeout () const |
void | setStopTimeout (int stopTimeout) |
Set stop timeout. More... | |
int | startTimeout () const |
void | setStartTimeout (int startTimeout) |
Set start timeout. More... | |
int | repairTimeout () const |
void | setRepairTimeout (int repairTimeout) |
Set repair timeout. More... | |
QString | name () const |
void | setName (const QString &name) |
QString | status () const |
cutehmi::services::StateInterface * | states () const |
Get state interface. More... | |
QQmlListProperty< cutehmi::services::AbstractServiceController > | defaultControllerList () |
QQmlListProperty< cutehmi::services::AbstractServiceController > | controllerList () |
Q_INVOKABLE void | appendController (cutehmi::services::AbstractServiceController *controller) |
Q_INVOKABLE void | clearControllers () |
Public Member Functions inherited from QObject | |
virtual const QMetaObject * | metaObject () const const |
QObject (QObject *parent) | |
virtual | ~QObject () |
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 Attributes | |
static constexpr int | INITIAL_SHUTDOWN_TIMEOUT = 180000 |
static constexpr int | INITIAL_STOP_TIMEOUT = 30000 |
static constexpr int | INITIAL_START_TIMEOUT = 30000 |
static constexpr int | INITIAL_REPAIR_TIMEOUT = 30000 |
static constexpr const char * | INITIAL_NAME = "Unnamed Service" |
Protected Types | |
typedef QList< AbstractServiceController * > | ControllersContainer |
Protected Slots | |
void | setStatus (const QString &status) |
Protected Member Functions | |
AbstractService (StateInterface *stateInterface, const QString &status, QObject *parent=nullptr, const ControllersContainer *defaultControllers=&DefaultControllers()) | |
Constructor. More... | |
const ControllersContainer & | controllers () const |
ControllersContainer & | controllers () |
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) |
Static Protected Member Functions | |
static const ControllersContainer & | DefaultControllers () |
Properties | |
int | shutdownTimeout |
int | stopTimeout |
int | startTimeout |
int | repairTimeout |
QString | name |
QString | status |
cutehmi::services::StateInterface * | states |
QQmlListProperty< cutehmi::services::AbstractServiceController > | defaultControllers |
QQmlListProperty< cutehmi::services::AbstractServiceController > | controllers |
Properties inherited from QObject | |
objectName | |
Additional Inherited Members | |
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 |
Abstract service.
Guarantee is given that states property is never nullptr, nor any of its states is ever nullptr
and states are persistent - they do not change. Subclasses have to take care to ensure that this guarantee is not violated. Additionaly they should take care about initialized() signal, which should be emitted once the service has been initialized and it's ready to be started. It is also well-seen if subclasses update service status accordingly to the service state during its lifecycle.
|
protected |
|
override |
|
protected |
Constructor.
stateInterface | state interface. Abstract service will take ownership of this object by explicitly setting itself as its parent. This object is exposed as states property. |
status | initial service status. |
defaultControllers | default controllers. |
parent | parent object. |
|
slot |
|
signal |
void cutehmi::services::AbstractService::appendController | ( | cutehmi::services::AbstractServiceController * | controller | ) |
void cutehmi::services::AbstractService::clearControllers | ( | ) |
QQmlListProperty< AbstractServiceController > cutehmi::services::AbstractService::controllerList | ( | ) |
|
protected |
|
protected |
QQmlListProperty< AbstractServiceController > cutehmi::services::AbstractService::defaultControllerList | ( | ) |
|
staticprotected |
|
signal |
This signal is emitted, when service has performed all the initialization tasks and it is ready to be started.
After this signal has been emitted a service should respond to start() slot.
QString cutehmi::services::AbstractService::name | ( | ) | const |
|
signal |
int cutehmi::services::AbstractService::repairTimeout | ( | ) | const |
|
signal |
void cutehmi::services::AbstractService::setName | ( | const QString & | name | ) |
void cutehmi::services::AbstractService::setRepairTimeout | ( | int | repairTimeout | ) |
Set repair timeout.
repairTimeout | amount of time [milliseconds] after which repair sequence should be interrupted. Setting a negative value will disable timeout functionality. |
void cutehmi::services::AbstractService::setShutdownTimeout | ( | int | shutdownTimeout | ) |
Set shutdown timeout.
shutdownTimeout | time limit [milliseconds] to wait for the service to shutdown itself. If service can not reach stopped nor even interrupted state by this time, it will be killed. This can happen if its state interface implementation is entirely broken. |
void cutehmi::services::AbstractService::setStartTimeout | ( | int | startTimeout | ) |
Set start timeout.
startTimeout | amount of time [milliseconds] after which starting sequence should be interrupted. Setting a negative value will disable timeout functionality. |
|
protectedslot |
void cutehmi::services::AbstractService::setStopTimeout | ( | int | stopTimeout | ) |
Set stop timeout.
stopTimeout | amount of time [milliseconds] after which stopping or evacuating sequence should be interrupted. Setting a negative value will disable timeout functionality. |
int cutehmi::services::AbstractService::shutdownTimeout | ( | ) | const |
|
signal |
|
slot |
|
signal |
int cutehmi::services::AbstractService::startTimeout | ( | ) | const |
|
signal |
StateInterface * cutehmi::services::AbstractService::states | ( | ) | const |
Get state interface.
QString cutehmi::services::AbstractService::status | ( | ) | const |
|
signal |
|
slot |
|
signal |
int cutehmi::services::AbstractService::stopTimeout | ( | ) | const |
|
signal |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
read |
|
read |
|
readwrite |
|
readwrite |
|
readwrite |
|
readwrite |
|
read |
|
read |
|
readwrite |