summaryrefslogtreecommitdiffstats
path: root/src/qscxml/executablecontent.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/qscxml/executablecontent.h')
-rw-r--r--src/qscxml/executablecontent.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/qscxml/executablecontent.h b/src/qscxml/executablecontent.h
new file mode 100644
index 0000000..1c403aa
--- /dev/null
+++ b/src/qscxml/executablecontent.h
@@ -0,0 +1,58 @@
+/****************************************************************************
+ **
+ ** Copyright (c) 2015 Digia Plc
+ ** For any questions to Digia, please use contact form at http://qt.digia.com/
+ **
+ ** All Rights Reserved.
+ **
+ ** NOTICE: All information contained herein is, and remains
+ ** the property of Digia Plc and its suppliers,
+ ** if any. The intellectual and technical concepts contained
+ ** herein are proprietary to Digia Plc
+ ** and its suppliers and may be covered by Finnish and Foreign Patents,
+ ** patents in process, and are protected by trade secret or copyright law.
+ ** Dissemination of this information or reproduction of this material
+ ** is strictly forbidden unless prior written permission is obtained
+ ** from Digia Plc.
+ ****************************************************************************/
+
+#ifndef EXECUTABLECONTENT_H
+#define EXECUTABLECONTENT_H
+
+#include "scxmlglobals.h"
+
+#include <QByteArray>
+#include <QString>
+#include <QVariant>
+
+namespace Scxml {
+
+class StateTable;
+
+namespace ExecutableContent {
+
+typedef int ContainerId;
+enum { NoInstruction = -1 };
+typedef qint32 StringId;
+typedef QVector<StringId> StringIds;
+enum { NoString = -1 };
+typedef qint32 ByteArrayId;
+typedef qint32 *Instructions;
+
+class SCXML_EXPORT ExecutionEngine
+{
+public:
+ ExecutionEngine(StateTable *table);
+ ~ExecutionEngine();
+
+ bool execute(ContainerId ip, const QVariant &extraData = QVariant());
+
+private:
+ class Data;
+ Data *data;
+};
+
+} // ExecutableContent namespace
+} // namespace Scxml
+
+#endif // EXECUTABLECONTENT_H