CuteHMI - Services (CuteHMI.Services.2)
cutehmi::services::ServiceManager Class Reference

Service manager. More...

#include <cutehmi/services/ServiceManager.hpp>

Inheritance diagram for cutehmi::services::ServiceManager:
QObject cutehmi::Singleton< ServiceManager > cutehmi::NonCopyable cutehmi::NonMovable CuteHMI::Services::ServiceManager

Public Slots

void start ()
 Start services. More...
 
void stop ()
 Stop services. More...
 

Signals

void maxActiveServicesChanged ()
 
void repairIntervalChanged ()
 
void runningServicesChanged ()
 

Public Member Functions

int maxActiveServices () const
 
void setMaxActiveServices (int maxActiveServices)
 
int repairInterval () const
 
void setRepairInterval (int repairInterval)
 
int runningServices () const
 
- Public Member Functions inherited from QObject
virtual const QMetaObjectmetaObject () const const
 
virtual void * qt_metacast (const char *)
 
virtual int qt_metacall (QMetaObject::Call, int, void **)
 
 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 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< QByteArraydynamicPropertyNames () const const
 
void destroyed (QObject *obj)
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
bool inherits (const char *className) const const
 
void deleteLater ()
 

Static Public Attributes

static constexpr int INITIAL_MAX_ACTIVE_SERVICES = 1
 
static constexpr int INITIAL_REPAIR_INTERVAL = 10000
 

Protected Member Functions

 ServiceManager (QObject *parent=nullptr)
 
void add (Service *service)
 
void remove (Service *service)
 
void manage (Service *service)
 
void leave (Service *service)
 
- 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)
 
- Protected Member Functions inherited from cutehmi::Singleton< ServiceManager >
 Singleton ()
 
virtual ~Singleton ()
 
- Protected Member Functions inherited from cutehmi::NonCopyable
 NonCopyable ()=default
 
 NonCopyable (NonCopyable &&other)=default
 
 ~NonCopyable ()=default
 
NonCopyableoperator= (NonCopyable &&other)=default
 
- Protected Member Functions inherited from cutehmi::NonMovable
 NonMovable ()=default
 

Properties

int maxActiveServices
 Maximum amount of the services that can be active at the same time. More...
 
int repairInterval
 Repair interval. More...
 
int runningServices
 Amount of running services, that is services which are in any state other than "stopped" state. More...
 
- Properties inherited from QObject
 objectName
 

Friends

class Singleton< ServiceManager >
 
class Service
 

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)
 
- Static Public Member Functions inherited from cutehmi::Singleton< ServiceManager >
static C & Instance ()
 
static void Destroy ()
 
- Static Protected Member Functions inherited from cutehmi::Singleton< ServiceManager >
static std::unique_ptr< C > & InstancePtr ()
 

Detailed Description

Service manager.

Service manager is a singleton that manages Service objects. Two most important functions are start() and stop() slots, which start and stop services. Services are added to the manager and removed automatically.

Activities of services, which are capable of idling and yielding are serialized. Property maxActiveServices controls how many services can be active at the same time.

Constructor & Destructor Documentation

◆ ServiceManager()

cutehmi::services::ServiceManager::ServiceManager ( QObject parent = nullptr)
explicitprotected

Member Function Documentation

◆ add()

void cutehmi::services::ServiceManager::add ( Service service)
protected

◆ leave()

void cutehmi::services::ServiceManager::leave ( Service service)
protected

◆ manage()

void cutehmi::services::ServiceManager::manage ( Service service)
protected

◆ maxActiveServices()

int cutehmi::services::ServiceManager::maxActiveServices ( ) const

◆ maxActiveServicesChanged

void cutehmi::services::ServiceManager::maxActiveServicesChanged ( )
signal

◆ remove()

void cutehmi::services::ServiceManager::remove ( Service service)
protected

◆ repairInterval()

int cutehmi::services::ServiceManager::repairInterval ( ) const

◆ repairIntervalChanged

void cutehmi::services::ServiceManager::repairIntervalChanged ( )
signal

◆ runningServices()

int cutehmi::services::ServiceManager::runningServices ( ) const

◆ runningServicesChanged

void cutehmi::services::ServiceManager::runningServicesChanged ( )
signal

◆ setMaxActiveServices()

void cutehmi::services::ServiceManager::setMaxActiveServices ( int  maxActiveServices)

◆ setRepairInterval()

void cutehmi::services::ServiceManager::setRepairInterval ( int  repairInterval)

◆ start

void cutehmi::services::ServiceManager::start ( )
slot

Start services.

◆ stop

void cutehmi::services::ServiceManager::stop ( )
slot

Stop services.

Friends And Related Function Documentation

◆ Service

friend class Service
friend

◆ Singleton< ServiceManager >

friend class Singleton< ServiceManager >
friend

Member Data Documentation

◆ INITIAL_MAX_ACTIVE_SERVICES

constexpr int cutehmi::services::ServiceManager::INITIAL_MAX_ACTIVE_SERVICES = 1
staticconstexpr

◆ INITIAL_REPAIR_INTERVAL

constexpr int cutehmi::services::ServiceManager::INITIAL_REPAIR_INTERVAL = 10000
staticconstexpr

Property Documentation

◆ maxActiveServices

int cutehmi::services::ServiceManager::maxActiveServices
readwrite

Maximum amount of the services that can be active at the same time.

◆ repairInterval

int cutehmi::services::ServiceManager::repairInterval
readwrite

Repair interval.

Amount of time [ms] that needs to pass before attempting to repair broken service.

◆ runningServices

int cutehmi::services::ServiceManager::runningServices
read

Amount of running services, that is services which are in any state other than "stopped" state.