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 | |
9 | QT_BEGIN_NAMESPACE |
10 | |
11 | namespace QScxmlExecutableContent { |
12 | |
13 | typedef qint32 ContainerId; |
14 | enum { NoContainer = -1 }; |
15 | typedef qint32 StringId; |
16 | enum { NoString = -1 }; |
17 | typedef qint32 InstructionId; |
18 | enum { NoInstruction = -1 }; |
19 | typedef qint32 EvaluatorId; |
20 | enum { NoEvaluator = -1 }; |
21 | |
22 | #if defined(Q_CC_MSVC) || defined(Q_CC_GNU) |
23 | #pragma pack(push, 4) // 4 == sizeof(qint32) |
24 | #endif |
25 | struct EvaluatorInfo { |
26 | StringId expr; |
27 | StringId context; |
28 | }; |
29 | |
30 | struct AssignmentInfo { |
31 | StringId dest; |
32 | StringId expr; |
33 | StringId context; |
34 | }; |
35 | |
36 | struct ForeachInfo { |
37 | StringId array; |
38 | StringId item; |
39 | StringId index; |
40 | StringId context; |
41 | }; |
42 | |
43 | struct ParameterInfo { |
44 | StringId name; |
45 | EvaluatorId expr; |
46 | StringId location; |
47 | }; |
48 | |
49 | struct 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 | |
64 | QT_END_NAMESPACE |
65 | |
66 | #endif // QSCXMLEXECUTABLECONTENT_H |
67 | |