1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QSCXMLEXECUTABLECONTENT_H
5#define QSCXMLEXECUTABLECONTENT_H
6
7#include <QtScxml/qscxmlglobals.h>
8
9QT_BEGIN_NAMESPACE
10
11namespace QScxmlExecutableContent {
12
13typedef qint32 ContainerId;
14enum { NoContainer = -1 };
15typedef qint32 StringId;
16enum { NoString = -1 };
17typedef qint32 InstructionId;
18enum { NoInstruction = -1 };
19typedef qint32 EvaluatorId;
20enum { NoEvaluator = -1 };
21
22#if defined(Q_CC_MSVC) || defined(Q_CC_GNU)
23#pragma pack(push, 4) // 4 == sizeof(qint32)
24#endif
25struct EvaluatorInfo {
26 StringId expr;
27 StringId context;
28};
29
30struct AssignmentInfo {
31 StringId dest;
32 StringId expr;
33 StringId context;
34};
35
36struct ForeachInfo {
37 StringId array;
38 StringId item;
39 StringId index;
40 StringId context;
41};
42
43struct ParameterInfo {
44 StringId name;
45 EvaluatorId expr;
46 StringId location;
47};
48
49struct InvokeInfo {
50 StringId id;
51 StringId prefix;
52 StringId location;
53 StringId context;
54 EvaluatorId expr;
55 ContainerId finalize;
56 bool autoforward;
57};
58#if defined(Q_CC_MSVC) || defined(Q_CC_GNU)
59#pragma pack(pop)
60#endif
61
62} // QScxmlExecutableContent namespace
63
64QT_END_NAMESPACE
65
66#endif // QSCXMLEXECUTABLECONTENT_H
67

source code of qtscxml/src/scxml/qscxmlexecutablecontent.h