summaryrefslogtreecommitdiff
path: root/tools/InterfaceGenerator/test/generator/parsers/valid_JSONRPC.xml
blob: a964ce6e928cfd194bfa39a0ecdf1b2605fe0519 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<?xml version="1.0"?>
<interfaces attr1="v1" attr2="v2">
    <interface name="interface1" attribute1="value1" attribute2="value2">
        <struct name="struct1">
            <param name="member1" type="Integer" mandatory="true">
                <description>Param1 description</description>
            </param>
            <issue creator="creator1">Issue1</issue>
            <param name="member2" type="Boolean" mandatory="true" platform="member2 platform"/>
            <param name="member3" type="Float" maxvalue="20.5" mandatory="false"/>
            <description>Struct description</description>
            <issue creator="creator2">Issue2</issue>
            <param name="member4" type="Integer" minvalue="11" maxvalue="100" array="true" mandatory="true"/>
        </struct>
        <issue creator="c">Issue1</issue>
        <function name="Function1" messagetype="request">
            <description>Description of request Function1</description>
            <param name="param1" type="String" mandatory="false" defvalue="String default value">
                <issue creator=""/>
            </param>
            <param name="param2" type="Integer" platform="param2 platform" mandatory="true">
                <description>Param2 description</description>
                <todo>Param2 todo</todo>
                <description/>
            </param>
            <todo>Function1 request todo</todo>
            <param name="param3" type="struct1" mandatory="false"/>
        </function>
        <enum name="enum1" internal_scope="scope" platform="enum1 platform">
            <element name="element1" value="10"/>
            <element name="element2" internal_name="element2_internal" value="11"/>
            <element name="element3" platform="element3 platform">
                <designdescription>Element design description</designdescription>
            </element>
        </enum>
        <designdescription>dd</designdescription>
        <issue creator="c">Issue2</issue>
        <function name="Function1" messagetype="response" platform="">
            <param name="p1" type="enum1" mandatory="true"/>
            <issue creator="c1"/>
            <issue creator="c2"/>
            <param name="p2" type="enum1" defvalue="element2" mandatory="true"/>
            <param name="p3" type="Boolean" defvalue="false" mandatory="true">
                <designdescription/>
            </param>
        </function>
        <struct name="struct2" platform="struct2 platform">
            <description>Description of struct2</description>
            <param name="m1" type="String" mandatory="true"/>
            <param name="m2" type="String" maxlength="100" array="true" minsize="1" maxsize="50" mandatory="true"/>
            <param name="m3" type="enum1" mandatory="true"/>
            <param name="m4" type="struct1" array="true" maxsize="10" mandatory="true"/>
        </struct>
        <function name="Function2" messagetype="notification" platform="function2 platform">
            <description>Function2 description</description>
            <param name="n1" type="enum1" mandatory="true">
                <element name="element2"/>
                <element name="element3"/>
                <todo>n1 todo</todo>
            </param>
            <param name="n2" type="enum1" array="true" minsize="1" maxsize="100" mandatory="true">
                <element name="element3"/>
                <todo>n2 todo</todo>
                <element name="element1"/>
            </param>
            <param name="n3" type="struct2" mandatory="false"/>
        </function>
    </interface>
    <interface name="interface2" attribute="value">
        <description>Description of interface2</description>
        <enum name="enum1">
            <description>Interface2 enum1 description</description>
            <element name="e1" internal_name="int_e1" value="0"/>
            <element name="e2" internal_name="int_e2" value="10"/>
        </enum>
        <enum name="enum2" internal_scope="e2 scope" platform="e2 platform">
            <element name="element1"/>
            <element name="element2"/>
            <element name="element3"/>
        </enum>
        <struct name="struct1">
            <param name="m_1" type="enum1" minsize="1" maxsize="10" array="true" mandatory="true"/>
            <param name="m_2" type="enum2" mandatory="true"/>
            <param name="m_3" type="String" maxlength="20" mandatory="true"/>
        </struct>
        <function name="Function1" messagetype="request">
            <param name="param1" type="enum1" mandatory="false"/>
            <param name="param2" type="struct1" array="true" minsize="5" maxsize="25" mandatory="true"/>
        </function>
        <todo>i2 todo</todo>
        <function name="Function1" messagetype="notification" platform="platform">
            <issue creator="c">Issue text</issue>
            <param name="param" type="enum2" mandatory="true">
                <element name="element2"/>
                <element name="element3"/>
            </param>
            <param name="i1" type="interface1.struct2" mandatory="true"/>
        </function>
    </interface>
</interfaces>