QScxmlInvokableService Class

The QScxmlInvokableService class is the base class for services called from state machines. More...

Header: #include <QScxmlInvokableService>
qmake: QT += scxml
Since: Qt 5.8
Inherits: QObject

This class was introduced in Qt 5.8.


  • 1 property inherited from QObject

Public Functions

virtual QString id() const = 0
virtual QString name() const = 0
QScxmlStateMachine *parentStateMachine() const
virtual void postEvent(QScxmlEvent *event) = 0
virtual bool start() = 0
  • 30 public functions inherited from QObject
typedef QObjectList
QList<T> qFindChildren(const QObject *obj, const QRegExp &regExp)
T qobject_cast(QObject *object)
T qobject_cast(const QObject *object)


Additional Inherited Members

  • 1 public slot inherited from QObject
  • 2 signals inherited from QObject
  • 9 static public members inherited from QObject
  • 9 protected functions inherited from QObject

Detailed Description

The services are called from state machines via the mechanism described in SCXML Specification - 6.4 <invoke>. This class represents an actual instance of an invoked service.

Property Documentation

id : const QString

This property holds the ID of the invokable service.

The ID is specified by the id attribute of the <invoke> element.

Access functions:

virtual QString id() const = 0

name : const QString

This property holds the name of the service being invoked.

Access functions:

virtual QString name() const = 0

parentStateMachine : QScxmlStateMachine* const

This property holds the SCXML state machine that invoked the service.

Access functions:

QScxmlStateMachine *parentStateMachine() const

Member Function Documentation

[pure virtual] void QScxmlInvokableService::postEvent(QScxmlEvent *event)

Sends an event to the service.

[pure virtual] bool QScxmlInvokableService::start()

Starts the invokable service. Returns true on success, or false if the invocation fails.

© 2019 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.