QScxmlDynamicScxmlServiceFactory Class

The QScxmlDynamicScxmlServiceFactory class creates SCXML service instances from documents loaded at runtime. More...

Header: #include <QScxmlDynamicScxmlServiceFactory>
qmake: QT += scxml
Since: Qt 5.8
Inherits: QScxmlInvokableServiceFactory

Public Functions

QScxmlDynamicScxmlServiceFactory(const QScxmlExecutableContent::InvokeInfo &invokeInfo, const QVector<QScxmlExecutableContent::StringId> &names, const QVector<QScxmlExecutableContent::ParameterInfo> &parameters, QObject *parent = nullptr)

Reimplemented Public Functions

virtual QScxmlInvokableService *invoke(QScxmlStateMachine *parentStateMachine) override

Additional Inherited Members

Detailed Description

The QScxmlDynamicScxmlServiceFactory class creates SCXML service instances from documents loaded at runtime.

Dynamically resolved services are used when loading SCXML content from files that a parent state machine requests at runtime, via the srcexpr attribute in the <invoke> element.

Member Function Documentation

QScxmlDynamicScxmlServiceFactory::QScxmlDynamicScxmlServiceFactory(const QScxmlExecutableContent::InvokeInfo &invokeInfo, const QVector<QScxmlExecutableContent::StringId> &names, const QVector<QScxmlExecutableContent::ParameterInfo> &parameters, QObject *parent = nullptr)

Creates a factory for dynamically resolved services, passing the attributes of the <invoke> element as invokeInfo, any <param> child elements as parameters, the content of the names attribute as names, and the QObject parent parent.

[override virtual] QScxmlInvokableService *QScxmlDynamicScxmlServiceFactory::invoke(QScxmlStateMachine *parentStateMachine)

Reimplemented from QScxmlInvokableServiceFactory::invoke().

© 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.