QScxmlCompiler Class
The QScxmlCompiler class is a compiler for SCXML files. More...
Header: | #include <QScxmlCompiler> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Scxml) target_link_libraries(mytarget PRIVATE Qt6::Scxml) |
qmake: | QT += scxml |
Public Types
class | Loader |
Public Functions
QScxmlCompiler(QXmlStreamReader *reader) | |
~QScxmlCompiler() | |
QScxmlStateMachine * | compile() |
QList<QScxmlError> | errors() const |
QString | fileName() const |
QScxmlCompiler::Loader * | loader() const |
void | setFileName(const QString &fileName) |
void | setLoader(QScxmlCompiler::Loader *newLoader) |
Detailed Description
Parses an SCXML file and dynamically instantiates a state machine for a successfully parsed SCXML file. If parsing fails, the new state machine cannot start. All errors are returned by QScxmlStateMachine::parseErrors().
To load an SCXML file, QScxmlStateMachine::fromFile or QScxmlStateMachine::fromData should be used. Using QScxmlCompiler directly is only needed when the compiler needs to use a custom QScxmlCompiler::Loader.
Member Function Documentation
QScxmlCompiler::QScxmlCompiler(QXmlStreamReader *reader)
Creates a new SCXML compiler for the specified reader.
[noexcept]
QScxmlCompiler::~QScxmlCompiler()
Destroys the SCXML compiler.
QScxmlStateMachine *QScxmlCompiler::compile()
Parses an SCXML file and creates a new state machine from it.
If parsing is successful, the returned state machine can be initialized and started. If parsing fails, QScxmlStateMachine::parseErrors() can be used to retrieve a list of errors.
QList<QScxmlError> QScxmlCompiler::errors() const
Returns the list of parse errors.
QString QScxmlCompiler::fileName() const
Returns the file name associated with the current input.
See also setFileName().
QScxmlCompiler::Loader *QScxmlCompiler::loader() const
Returns the loader that is currently used to resolve and load URIs for the SCXML compiler.
See also setLoader().
void QScxmlCompiler::setFileName(const QString &fileName)
Sets the file name for the current input to fileName.
The file name is used for error reporting and for resolving relative path URIs.
See also fileName().
void QScxmlCompiler::setLoader(QScxmlCompiler::Loader *newLoader)
Sets newLoader to be used for resolving and loading URIs for the SCXML compiler.
See also loader().