CuteHMI - Services (CuteHMI.Services.3)
cutehmi::services::ServiceDependency Class Reference

#include <cutehmi/services/ServiceDependency.hpp>

Inheritance diagram for cutehmi::services::ServiceDependency:
cutehmi::services::ServiceGroupRule QObject CuteHMI::Services::ServiceDependency

Signals

void serviceChanged ()
 

Public Member Functions

 ServiceDependency (QObject *parent=nullptr)
 
void setService (AbstractService *service)
 
cutehmi::services::AbstractServiceservice () const
 
QQmlListProperty< cutehmi::services::AbstractServicerequiredServiceList ()
 
Q_INVOKABLE void appendRequiredService (cutehmi::services::AbstractService *service)
 
Q_INVOKABLE void clearRequiredServices ()
 
std::unique_ptr< QAbstractTransitionconditionalTransition (SlotType type, const AbstractService *service) override
 Get conditional transition that should be applied to a particular service and slot type. More...
 
virtual std::unique_ptr< QAbstractTransitionconditionalTransition (SlotType type, const AbstractService *service)=0
 Get conditional transition that should be applied to a particular service and slot type. More...
 
- Public Member Functions inherited from QObject
virtual const QMetaObjectmetaObject () 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)
 
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 Types

typedef QList< AbstractService * > RequiredServicesContainer
 

Protected Member Functions

const RequiredServicesContainerrequiredServices () const
 
RequiredServicesContainerrequiredServices ()
 
- Protected Member Functions inherited from cutehmi::services::ServiceGroupRule
 ServiceGroupRule (QObject *parent=nullptr)
 
- 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)
 

Properties

cutehmi::services::AbstractServiceservice
 
QQmlListProperty< cutehmi::services::AbstractServicerequires
 
- Properties inherited from QObject
 objectName
 

Additional Inherited Members

- Public Types inherited from cutehmi::services::ServiceGroupRule
enum  SlotType { SERVICE_START , SERVICE_STOP , SERVICE_ACTIVATE }
 
- 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
 

Member Typedef Documentation

◆ RequiredServicesContainer

Constructor & Destructor Documentation

◆ ServiceDependency()

cutehmi::services::ServiceDependency::ServiceDependency ( QObject parent = nullptr)

Member Function Documentation

◆ appendRequiredService()

void cutehmi::services::ServiceDependency::appendRequiredService ( cutehmi::services::AbstractService service)

◆ clearRequiredServices()

void cutehmi::services::ServiceDependency::clearRequiredServices ( )

◆ conditionalTransition()

std::unique_ptr< QAbstractTransition > cutehmi::services::ServiceDependency::conditionalTransition ( SlotType  type,
const AbstractService service 
)
overridevirtual

Get conditional transition that should be applied to a particular service and slot type.

Parameters
typeslot type. States to which the transtion should be applied are defined by slot type. Enum values correspond to AbstractService::start(), AbstractService::stop() and AbstractService::activate() slots. See the state interface diagram to determine, which states are activated by signals related to these slots (signals are named using past perfect verbs i.e.: start - started, stop - stopped, activate - activated). The transition will be applied to a newly created substate for the the relevant, existing substate dedicated for a particular service.
serviceservice belonging to the group for which the transition might be potentially applied.
Returns
transition object or nullptr if no transition shall be applied to a particular service and state related to a particular slot type.

Implements cutehmi::services::ServiceGroupRule.

◆ requiredServiceList()

QQmlListProperty< AbstractService > cutehmi::services::ServiceDependency::requiredServiceList ( )

◆ requiredServices() [1/2]

ServiceDependency::RequiredServicesContainer & cutehmi::services::ServiceDependency::requiredServices ( )
protected

◆ requiredServices() [2/2]

const ServiceDependency::RequiredServicesContainer & cutehmi::services::ServiceDependency::requiredServices ( ) const
protected

◆ service()

AbstractService * cutehmi::services::ServiceDependency::service ( ) const

◆ serviceChanged

void cutehmi::services::ServiceDependency::serviceChanged ( )
signal

◆ setService()

void cutehmi::services::ServiceDependency::setService ( AbstractService service)

Property Documentation

◆ requires

QQmlListProperty<cutehmi::services::AbstractService> cutehmi::services::ServiceDependency::requires
read

◆ service

cutehmi::services::AbstractService * cutehmi::services::ServiceDependency::service
readwrite