<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- qscxmlcompiler.cpp --> <title>QScxmlCompiler Class | Qt SCXML 5.12.6</title> <link rel="stylesheet" type="text/css" href="style/offline-simple.css" /> <script type="text/javascript"> document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css"); // loading style sheet breaks anchors that were jumped to before // so force jumping to anchor again setTimeout(function() { var anchor = location.hash; // need to jump to different anchor first (e.g. none) location.hash = "#"; setTimeout(function() { location.hash = anchor; }, 0); }, 0); </script> </head> <body> <div class="header" id="qtdocheader"> <div class="main"> <div class="main-rounded"> <div class="navigationbar"> <table><tr> <td >Qt 5.12</td><td ><a href="qtscxml-index.html">Qt SCXML</a></td><td ><a href="qtscxml-module.html">C++ Classes</a></td><td >QScxmlCompiler</td></tr></table><table class="buildversion"><tr> <td id="buildversion" width="100%" align="right"><a href="qtscxml-index.html">Qt 5.12.6 Reference Documentation</a></td> </tr></table> </div> </div> <div class="content"> <div class="line"> <div class="content mainContent"> <div class="sidebar"> <div class="toc"> <h3><a name="toc">Contents</a></h3> <ul> <li class="level1"><a href="#public-types">Public Types</a></li> <li class="level1"><a href="#public-functions">Public Functions</a></li> <li class="level1"><a href="#details">Detailed Description</a></li> </ul> </div> <div class="sidebar-content" id="sidebar-content"></div></div> <h1 class="title">QScxmlCompiler Class</h1> <!-- $$$QScxmlCompiler-brief --> <p>The <a href="qscxmlcompiler.html">QScxmlCompiler</a> class is a compiler for SCXML files. <a href="#details">More...</a></p> <!-- @@@QScxmlCompiler --> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> Header:</td><td class="memItemRight bottomAlign"> <span class="preprocessor">#include <QScxmlCompiler></span> </td></tr><tr><td class="memItemLeft rightAlign topAlign"> qmake:</td><td class="memItemRight bottomAlign"> QT += scxml</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Since:</td><td class="memItemRight bottomAlign"> Qt 5.7</td></tr></table></div><ul> <li><a href="qscxmlcompiler-members.html">List of all members, including inherited members</a></li> </ul> <a name="public-types"></a> <h2 id="public-types">Public Types</h2> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> class </td><td class="memItemRight bottomAlign"><b><a href="qscxmlcompiler-loader.html">Loader</a></b></td></tr> </table></div> <a name="public-functions"></a> <h2 id="public-functions">Public Functions</h2> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qscxmlcompiler.html#QScxmlCompiler">QScxmlCompiler</a></b>(QXmlStreamReader *<i>reader</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qscxmlcompiler.html#dtor.QScxmlCompiler">~QScxmlCompiler</a></b>()</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QScxmlStateMachine *</td><td class="memItemRight bottomAlign"><b><a href="qscxmlcompiler.html#compile">compile</a></b>()</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QVector<QScxmlError> </td><td class="memItemRight bottomAlign"><b><a href="qscxmlcompiler.html#errors">errors</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="qscxmlcompiler.html#fileName">fileName</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QScxmlCompiler::Loader *</td><td class="memItemRight bottomAlign"><b><a href="qscxmlcompiler.html#loader">loader</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qscxmlcompiler.html#setFileName">setFileName</a></b>(const QString &<i>fileName</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qscxmlcompiler.html#setLoader">setLoader</a></b>(QScxmlCompiler::Loader *<i>newLoader</i>)</td></tr> </table></div> <a name="details"></a> <!-- $$$QScxmlCompiler-description --> <div class="descr"> <h2 id="details">Detailed Description</h2> <p>The <a href="qscxmlcompiler.html">QScxmlCompiler</a> class is a compiler for SCXML files.</p> <p>Parses an <a href="http://www.w3.org/TR/scxml/">SCXML</a> 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 <a href="qscxmlstatemachine.html#parseErrors-prop">QScxmlStateMachine::parseErrors</a>().</p> <p>To load an SCXML file, <a href="qscxmlstatemachine.html#fromFile">QScxmlStateMachine::fromFile</a> or <a href="qscxmlstatemachine.html#fromData">QScxmlStateMachine::fromData</a> should be used. Using <a href="qscxmlcompiler.html">QScxmlCompiler</a> directly is only needed when the compiler needs to use a custom <a href="qscxmlcompiler-loader.html">QScxmlCompiler::Loader</a>.</p> </div> <!-- @@@QScxmlCompiler --> <div class="func"> <h2>Member Function Documentation</h2> <!-- $$$QScxmlCompiler[overload1]$$$QScxmlCompilerQXmlStreamReader* --> <h3 class="fn" id="QScxmlCompiler"><a name="QScxmlCompiler"></a>QScxmlCompiler::<span class="name">QScxmlCompiler</span>(<span class="type">QXmlStreamReader</span> *<i>reader</i>)</h3> <p>Creates a new SCXML compiler for the specified <i>reader</i>.</p> <!-- @@@QScxmlCompiler --> <!-- $$$~QScxmlCompiler[overload1]$$$~QScxmlCompiler --> <h3 class="fn" id="dtor.QScxmlCompiler"><a name="dtor.QScxmlCompiler"></a>QScxmlCompiler::<span class="name">~QScxmlCompiler</span>()</h3> <p>Destroys the SCXML compiler.</p> <!-- @@@~QScxmlCompiler --> <!-- $$$compile[overload1]$$$compile --> <h3 class="fn" id="compile"><a name="compile"></a><span class="type"><a href="qscxmlstatemachine.html">QScxmlStateMachine</a></span> *QScxmlCompiler::<span class="name">compile</span>()</h3> <p>Parses an SCXML file and creates a new state machine from it.</p> <p>If parsing is successful, the returned state machine can be initialized and started. If parsing fails, <a href="qscxmlstatemachine.html#parseErrors-prop">QScxmlStateMachine::parseErrors</a>() can be used to retrieve a list of errors.</p> <!-- @@@compile --> <!-- $$$errors[overload1]$$$errors --> <h3 class="fn" id="errors"><a name="errors"></a><span class="type">QVector</span><<span class="type"><a href="qscxmlerror.html">QScxmlError</a></span>> QScxmlCompiler::<span class="name">errors</span>() const</h3> <p>Returns the list of parse errors.</p> <!-- @@@errors --> <!-- $$$fileName[overload1]$$$fileName --> <h3 class="fn" id="fileName"><a name="fileName"></a><span class="type">QString</span> QScxmlCompiler::<span class="name">fileName</span>() const</h3> <p>Returns the file name associated with the current input.</p> <p><b>See also </b><a href="qscxmlcompiler.html#setFileName">setFileName</a>().</p> <!-- @@@fileName --> <!-- $$$loader[overload1]$$$loader --> <h3 class="fn" id="loader"><a name="loader"></a><span class="type"><a href="qscxmlcompiler-loader.html">QScxmlCompiler::Loader</a></span> *QScxmlCompiler::<span class="name">loader</span>() const</h3> <p>Returns the loader that is currently used to resolve and load URIs for the SCXML compiler.</p> <p><b>See also </b><a href="qscxmlcompiler.html#setLoader">setLoader</a>().</p> <!-- @@@loader --> <!-- $$$setFileName[overload1]$$$setFileNameconstQString& --> <h3 class="fn" id="setFileName"><a name="setFileName"></a><span class="type">void</span> QScxmlCompiler::<span class="name">setFileName</span>(const <span class="type">QString</span> &<i>fileName</i>)</h3> <p>Sets the file name for the current input to <i>fileName</i>.</p> <p>The file name is used for error reporting and for resolving relative path URIs.</p> <p><b>See also </b><a href="qscxmlcompiler.html#fileName">fileName</a>().</p> <!-- @@@setFileName --> <!-- $$$setLoader[overload1]$$$setLoaderQScxmlCompiler::Loader* --> <h3 class="fn" id="setLoader"><a name="setLoader"></a><span class="type">void</span> QScxmlCompiler::<span class="name">setLoader</span>(<span class="type"><a href="qscxmlcompiler-loader.html">QScxmlCompiler::Loader</a></span> *<i>newLoader</i>)</h3> <p>Sets <i>newLoader</i> to be used for resolving and loading URIs for the SCXML compiler.</p> <p><b>See also </b><a href="qscxmlcompiler.html#loader">loader</a>().</p> <!-- @@@setLoader --> </div> </div> </div> </div> </div> </div> <div class="footer"> <p> <acronym title="Copyright">©</acronym> 2019 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners.<br/> The documentation provided herein is licensed under the terms of the <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation License version 1.3</a> as published by the Free Software Foundation.<br/> 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. </p> </div> </body> </html>