summaryrefslogtreecommitdiff
path: root/org.genivi.commonapi.core.verification/fidl/ti_datatypes_combined.fidl
blob: eab20072a4c998298b23503473efea90572b805d (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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package commonapi.datatypes.combined

interface TestInterface {
    version { major 1 minor 0 }

    attribute tStructL3 aStructL3
    //attribute tUnionL3 aUnionL3

    method fTest {
        in {
            tStructL3 tStructL3In
            //tUnionL3 tUnionL3In

        }
        out {
            tStructL3 tStructL3Out
            //tUnionL3 tUnionL3Out
        }
    }

    // Level 0

    enumeration tEnum {
        VALUE1= "0"
        VALUE2= "123"
    }

    array tArray of String

    struct tStruct {
        Boolean booleanMember
        UInt8 uint8Member
        String stringMember
        tEnum enumMember
    }

    union tUnion {
        Boolean booleanMember
        UInt8 uint8Member
        String stringMember
        tEnum enumMember
    }
    
    map tMap {
        UInt8 to String
    }

    // Level 1

    array tArrayEnum of tEnum
    array tArrayArray of tArray
    array tArrayStruct of tStruct
    array tArrayUnion of tUnion
    array tArrayMap of tMap
    
    struct tStructL1 {
        tEnum enumMember
        tArray arrayMemner
        tStruct structMember
        tUnion unionMember
        tMap mapMember
    }
    
    union tUnionL1 {
        tEnum enumMember
        tArray arrayMember
        tStruct structMember
        tUnion unionMember
        tMap mapMember
    }
    
    map tMapEnum {
        UInt8 to tEnum
    }
    
    map tMapArray {
        Double to tArray
    }
    
    map tMapStruct {
        String to tStruct
    }
    
    map tMapUnion {
        Float to tUnion
    }
    
    map tMapMap {
        Int8 to tMap
    }

    // Level 2

    array tArrayArrayEnum of tArrayEnum
    array tArrayArrayArray of tArrayArray
    array tArrayArrayStruct of tArrayStruct
    array tArrayArrayUnion of tArrayUnion
    array tArrayArrayMap of tArrayMap
    array tArrayStructL1 of tStructL1
    array tArrayUnionL1 of tUnionL1
    array tArrayMapEnum of tMapEnum
    array tArrayMapArray of tMapArray
    array tArrayMapStruct of tMapStruct
    array tArrayMapUnion of tMapUnion
    array tArrayMapMap of tMapMap
    
    struct tStructL2 {
        tEnum [] arrayEnumMember
        tArray [] arrayArrayMember
        tStruct [] arrayStructMember
        tUnion [] arrayUnionMember
        tMap [] arrayMapMember
        tStructL1 structL1Member
        tUnionL1 unionL1Member
        tMapEnum mapEnumMember
        tMapArray mapArrayMember
        tMapStruct mapStructMember
        tMapUnion mapUnionMember
        tMapMap mapMapMember
    }
    
    union tUnionL2 {
        tArrayEnum arrayEnumMember
        tArrayArray arrayArrayMember
        tArrayStruct arrayStructMember
        tArrayUnion arrayUnionMember
        tArrayMap arrayMapMember
        tStructL1 structL1Member
        tUnionL1 unionL1Member
        tMapEnum mapEnumMember
        tMapArray mapArrayMember
        tMapStruct mapStructMember
        tMapUnion mapUnionMember
        tMapMap mapMapMember
    }
    
    map tMapArrayEnum {
        String to tArrayEnum
    }
    
    map tMapArrayArray {
        String to tArrayArray
    }
    
    map tMapArrayStruct {
        String to tArrayStruct
    }
    
    map tMapArrayUnion {
        String to tArrayUnion
    }
    
    map tMapArrayMap {
        String to tArrayMap
    }
    
    map tMapStructL1 { 
        String to tStructL1
    }
    
    map tMapUnionL1 {
        String to tUnionL1
    }
    
    map tMapMapEnum {
        String to tMapEnum
    }
    
    map tMapMapArray {
        String to tMapArray
    }
    
    map tMapMapStruct {
        String to tMapStruct
    }
    
    map tMapMapUnion {
        String to tMapUnion
    }
    
    map tMapMapMap {
        String to tMapMap
    }

    // Level 3
    // Due to the libdbus limit of signature length < DBUS_MAXIMUM_SIGNATURE_LENGTH = 255 the structure cannot be completely used as argument
    // see dbus-protocol.h. Simply change this value does not work.

    struct tStructL3 {
        tArrayArrayEnum arrayArrayEnumMember
        tArrayArrayArray arrayArrayArrayMember
        tArrayArrayStruct arrayArrayStructMember
        tArrayArrayUnion arrayArrayUnionMember
        tArrayArrayMap arrayArrayMapMember
        tArrayStructL1 arrayStructL1Member
        //tArrayUnionL1 arrayUnionL1Member
        //tArrayMapEnum arrayMapEnumMember
        //tArrayMapArray arrayMapArrayMember
        //tArrayMapStruct arrayMapStructMember
        //tArrayMapUnion arrayMapUnionMember
        //tArrayMapMap arrayMapMapMember
        tStructL2 structL2Member
        //tUnionL2 unionL2Member
        tMapArrayEnum mapArrayEnumMember
        tMapArrayArray mapArrayArrayMember
        tMapArrayStruct mapArrayStructMember
        tMapArrayUnion mapArrayUnionMember
        tMapArrayMap mapArrayMapMember
        //tMapStructL1 mapStructL1Member
        tMapUnionL1 mapUnionL1Member
        tMapMapEnum mapMapEnumMember
        tMapMapArray mapMapArrayMember
        tMapMapStruct mapMapStructMember
        tMapMapUnion mapMapUnionMember
        tMapMapMap mapMapMapMember
    }

//    union tUnionL3 {
//        tArrayArrayEnum arrayArrayEnumMember
//        tArrayArrayArray arrayArrayArrayMember
//        tArrayArrayStruct arrayArrayStructMember
//        tArrayArrayUnion arrayArrayUnionMember
//        tArrayArrayMap arrayArrayMapMember
//        tArrayStructL1 arrayStructL1Member
//        tArrayUnionL1 arrayUnionL1Member
//        tArrayMapEnum arrayMapEnumMember
//        tArrayMapArray arrayMapArrayMember
//        tArrayMapStruct arrayMapStructMember
//        tArrayMapUnion arrayMapUnionMember
//        tArrayMapMap arrayMapMapMember
//        tStructL2 structL2Member
//        tUnionL2 unionL2Member
//        tMapArrayEnum mapArrayEnumMember
//        tMapArrayArray mapArrayArrayMember
//        tMapArrayStruct mapArrayStructMember
//        tMapArrayUnion mapArrayUnionMember
//        tMapArrayMap mapArrayMapMember
//        tMapStructL1 mapStructL1Member
//        tMapUnionL1 mapUnionL1Member
//        tMapMapEnum mapMapEnumMember
//        tMapMapArray mapMapArrayMember
//        tMapMapStruct mapMapStructMember
//        tMapMapUnion mapMapUnionMember
//        tMapMapMap mapMapMapMember
//    }
}