QScxmlCompiler Class | Qt SCXML 5.9

Qt 5.9 | Qt SCXML | C++ Classes | QScxmlCompiler

Qt 5.9.4 Reference Documentation

# QScxmlCompiler Class

The QScxmlCompiler class is a compiler for SCXML files. More...

Header: | #include <QScxmlCompiler>
qmake: | QT += scxml
Since: | Qt 5.7

- List of all members, including inherited members

## Public Types

class | Loader

## Public Functions

| QScxmlCompiler(QXmlStreamReader *reader)
| ~QScxmlCompiler()
QScxmlStateMachine * | compile()
QVector<QScxmlError> | errors() const
QString | fileName() const
Loader * | loader() const
void | setFileName(const QString &fileName)
void | setLoader(Loader *newLoader)

## Detailed Description

The QScxmlCompiler class is a compiler for SCXML files.

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.

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

### QVector<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().

### 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(Loader *newLoader)

Sets newLoader to be used for resolving and loading URIs for the SCXML compiler.

See also loader().