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
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
|
// **********************************************************************
//
// Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
//
// **********************************************************************
#pragma once
module TestAMD
{
class OneOptional
{
optional(1) int a;
};
enum MyEnum
{
MyEnumMember
};
struct SmallStruct
{
byte m;
};
struct FixedStruct
{
int m;
};
struct VarStruct
{
string m;
};
struct ClassVarStruct
{
int a;
};
sequence<byte> ByteSeq;
sequence<bool> BoolSeq;
sequence<short> ShortSeq;
sequence<int> IntSeq;
sequence<long> LongSeq;
sequence<float> FloatSeq;
sequence<double> DoubleSeq;
sequence<string> StringSeq;
sequence<MyEnum> MyEnumSeq;
sequence<SmallStruct> SmallStructSeq;
sequence<SmallStruct> SmallStructList;
sequence<FixedStruct> FixedStructSeq;
sequence<FixedStruct> FixedStructList;
sequence<VarStruct> VarStructSeq;
sequence<OneOptional> OneOptionalSeq;
sequence<OneOptional*> OneOptionalPrxSeq;
sequence<byte> Serializable;
dictionary<int, int> IntIntDict;
dictionary<string, int> StringIntDict;
dictionary<int, MyEnum> IntEnumDict;
dictionary<int, FixedStruct> IntFixedStructDict;
dictionary<int, VarStruct> IntVarStructDict;
dictionary<int, OneOptional> IntOneOptionalDict;
dictionary<int, OneOptional*> IntOneOptionalPrxDict;
class MultiOptional
{
optional(1) byte a;
optional(2) bool b;
optional(3) short c;
optional(4) int d;
optional(5) long e;
optional(6) float f;
optional(7) double g;
optional(8) string h;
optional(9) MyEnum i;
optional(10) MultiOptional* j;
optional(11) MultiOptional k;
optional(12) ByteSeq bs;
optional(13) StringSeq ss;
optional(14) IntIntDict iid;
optional(15) StringIntDict sid;
optional(16) FixedStruct fs;
optional(17) VarStruct vs;
optional(18) ShortSeq shs;
optional(19) MyEnumSeq es;
optional(20) FixedStructSeq fss;
optional(21) VarStructSeq vss;
optional(22) OneOptionalSeq oos;
optional(23) OneOptionalPrxSeq oops;
optional(24) IntEnumDict ied;
optional(25) IntFixedStructDict ifsd;
optional(26) IntVarStructDict ivsd;
optional(27) IntOneOptionalDict iood;
optional(28) IntOneOptionalPrxDict ioopd;
optional(29) BoolSeq bos;
optional(30) Serializable ser;
};
class A
{
int requiredA;
optional(1) int ma;
optional(50) int mb;
optional(500) int mc;
};
["preserve-slice"]
class B extends A
{
int requiredB;
optional(10) int md;
};
class C extends B
{
string ss;
optional(890) string ms;
};
class WD
{
optional(1) int a = 5;
optional(2) string s = "test";
};
exception OptionalException
{
bool req = false;
optional(1) int a = 5;
optional(2) string b;
optional(50) OneOptional o;
};
exception DerivedException extends OptionalException
{
optional(600) string ss = "test";
optional(601) OneOptional o2;
};
exception RequiredException extends OptionalException
{
string ss = "test";
OneOptional o2;
};
class OptionalWithCustom
{
optional(1) SmallStructList l;
["protected"] optional(2) SmallStructList lp;
optional(3) ClassVarStruct s;
};
class E
{
A ae;
};
class F extends E
{
optional(1) A af;
};
class G1
{
string a;
};
class G2
{
long a;
};
class G
{
optional(1) G1 gg1Opt;
G2 gg2;
optional(0) G2 gg2Opt;
G1 gg1;
};
["amd"] class Initial
{
void shutdown();
Object pingPong(Object o);
void opOptionalException(optional(1) int a, optional(2) string b, optional(3) OneOptional o)
throws OptionalException;
void opDerivedException(optional(1) int a, optional(2) string b, optional(3) OneOptional o)
throws OptionalException;
void opRequiredException(optional(1) int a, optional(2) string b, optional(3) OneOptional o)
throws OptionalException;
optional(1) byte opByte(optional(2) byte p1, out optional(3) byte p3);
optional(1) byte opByteReq(optional(2) byte p1, out optional(3) byte p3);
optional(1) bool opBool(optional(2) bool p1, out optional(3) bool p3);
optional(1) bool opBoolReq(optional(2) bool p1, out optional(3) bool p3);
optional(1) short opShort(optional(2) short p1, out optional(3) short p3);
optional(1) short opShortReq(optional(2) short p1, out optional(3) short p3);
optional(1) int opInt(optional(2) int p1, out optional(3) int p3);
optional(1) int opIntReq(optional(2) int p1, out optional(3) int p3);
optional(3) long opLong(optional(1) long p1, out optional(2) long p3);
optional(3) long opLongReq(optional(1) long p1, out optional(2) long p3);
optional(1) float opFloat(optional(2) float p1, out optional(3) float p3);
optional(1) float opFloatReq(optional(2) float p1, out optional(3) float p3);
optional(1) double opDouble(optional(2) double p1, out optional(3) double p3);
optional(1) double opDoubleReq(optional(2) double p1, out optional(3) double p3);
optional(1) string opString(optional(2) string p1, out optional(3) string p3);
optional(1) string opStringReq(optional(2) string p1, out optional(3) string p3);
optional(1) MyEnum opMyEnum(optional(2) MyEnum p1, out optional(3) MyEnum p3);
optional(1) MyEnum opMyEnumReq(optional(2) MyEnum p1, out optional(3) MyEnum p3);
optional(1) SmallStruct opSmallStruct(optional(2) SmallStruct p1, out optional(3) SmallStruct p3);
optional(1) SmallStruct opSmallStructReq(optional(2) SmallStruct p1, out optional(3) SmallStruct p3);
optional(1) FixedStruct opFixedStruct(optional(2) FixedStruct p1, out optional(3) FixedStruct p3);
optional(1) FixedStruct opFixedStructReq(optional(2) FixedStruct p1, out optional(3) FixedStruct p3);
optional(1) VarStruct opVarStruct(optional(2) VarStruct p1, out optional(3) VarStruct p3);
optional(1) VarStruct opVarStructReq(optional(2) VarStruct p1, out optional(3) VarStruct p3);
optional(1) OneOptional opOneOptional(optional(2) OneOptional p1, out optional(3) OneOptional p3);
optional(1) OneOptional opOneOptionalReq(optional(2) OneOptional p1, out optional(3) OneOptional p3);
optional(1) OneOptional* opOneOptionalProxy(optional(2) OneOptional* p1, out optional(3) OneOptional* p3);
optional(1) OneOptional* opOneOptionalProxyReq(optional(2) OneOptional* p1, out optional(3) OneOptional* p3);
optional(1) ByteSeq opByteSeq(optional(2) ByteSeq p1, out optional(3) ByteSeq p3);
optional(1) ByteSeq opByteSeqReq(optional(2) ByteSeq p1, out optional(3) ByteSeq p3);
optional(1) BoolSeq opBoolSeq(optional(2) BoolSeq p1, out optional(3) BoolSeq p3);
optional(1) BoolSeq opBoolSeqReq(optional(2) BoolSeq p1, out optional(3) BoolSeq p3);
optional(1) ShortSeq opShortSeq(optional(2) ShortSeq p1, out optional(3) ShortSeq p3);
optional(1) ShortSeq opShortSeqReq(optional(2) ShortSeq p1, out optional(3) ShortSeq p3);
optional(1) IntSeq opIntSeq(optional(2) IntSeq p1, out optional(3) IntSeq p3);
optional(1) IntSeq opIntSeqReq(optional(2) IntSeq p1, out optional(3) IntSeq p3);
optional(1) LongSeq opLongSeq(optional(2) LongSeq p1, out optional(3) LongSeq p3);
optional(1) LongSeq opLongSeqReq(optional(2) LongSeq p1, out optional(3) LongSeq p3);
optional(1) FloatSeq opFloatSeq(optional(2) FloatSeq p1, out optional(3) FloatSeq p3);
optional(1) FloatSeq opFloatSeqReq(optional(2) FloatSeq p1, out optional(3) FloatSeq p3);
optional(1) DoubleSeq opDoubleSeq(optional(2) DoubleSeq p1, out optional(3) DoubleSeq p3);
optional(1) DoubleSeq opDoubleSeqReq(optional(2) DoubleSeq p1, out optional(3) DoubleSeq p3);
optional(1) StringSeq opStringSeq(optional(2) StringSeq p1, out optional(3) StringSeq p3);
optional(1) StringSeq opStringSeqReq(optional(2) StringSeq p1, out optional(3) StringSeq p3);
optional(1) SmallStructSeq opSmallStructSeq(optional(2) SmallStructSeq p1, out optional(3) SmallStructSeq p3);
optional(1) SmallStructSeq opSmallStructSeqReq(optional(2) SmallStructSeq p1, out optional(3) SmallStructSeq p3);
optional(1) SmallStructList opSmallStructList(optional(2) SmallStructList p1, out optional(3) SmallStructList p3);
optional(1) SmallStructList opSmallStructListReq(optional(2) SmallStructList p1,
out optional(3) SmallStructList p3);
optional(1) FixedStructSeq opFixedStructSeq(optional(2) FixedStructSeq p1, out optional(3) FixedStructSeq p3);
optional(1) FixedStructSeq opFixedStructSeqReq(optional(2) FixedStructSeq p1, out optional(3) FixedStructSeq p3);
optional(1) FixedStructList opFixedStructList(optional(2) FixedStructList p1, out optional(3) FixedStructList p3);
optional(1) FixedStructList opFixedStructListReq(optional(2) FixedStructList p1,
out optional(3) FixedStructList p3);
optional(1) VarStructSeq opVarStructSeq(optional(2) VarStructSeq p1, out optional(3) VarStructSeq p3);
optional(1) VarStructSeq opVarStructSeqReq(optional(2) VarStructSeq p1, out optional(3) VarStructSeq p3);
optional(1) Serializable opSerializable(optional(2) Serializable p1, out optional(3) Serializable p3);
optional(1) Serializable opSerializableReq(optional(2) Serializable p1, out optional(3) Serializable p3);
optional(1) IntIntDict opIntIntDict(optional(2) IntIntDict p1, out optional(3) IntIntDict p3);
optional(1) IntIntDict opIntIntDictReq(optional(2) IntIntDict p1, out optional(3) IntIntDict p3);
optional(1) StringIntDict opStringIntDict(optional(2) StringIntDict p1, out optional(3) StringIntDict p3);
optional(1) StringIntDict opStringIntDictReq(optional(2) StringIntDict p1, out optional(3) StringIntDict p3);
void opClassAndUnknownOptional(A p);
void sendOptionalClass(bool req, optional(1) OneOptional o);
void returnOptionalClass(bool req, out optional(1) OneOptional o);
G opG(G g);
bool supportsRequiredParams();
bool supportsJavaSerializable();
bool supportsCsharpSerializable();
};
interface Echo
{
void startBatch();
void flushBatch();
void shutdown();
};
};
|