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
// }
}
|