2 #include
"tao/OctetSeq.pidl"
3 #include
"tao/StringSeq.pidl"
5 /// Put the interfaces in a module, to avoid global namespace pollution
8 exception Recursive_Type_In_Any_Test_Failed
{};
9 exception Demarshaling_From_Any_Failed
{};
11 struct RecursiveStruct
;
12 typedef sequence
<RecursiveStruct
> RecursiveStructSeq
;
14 struct RecursiveStruct
16 RecursiveStructSeq recursive_structs
;
18 RecursiveStructSeq recursive_structs_second
;
21 struct NestedRecursiveStruct
;
22 typedef sequence
<NestedRecursiveStruct
> NestedRecursiveStructSeq
;
24 struct NestedRecursiveStruct
28 NestedRecursiveStructSeq recursive_structs
;
33 // --------------------------
36 typedef sequence
<RecursiveUnion
> RecursiveUnionSeq
;
38 union RecursiveUnion
switch (short)
41 RecursiveUnionSeq recursive_unions
;
45 RecursiveUnionSeq recursive_unions_second
;
50 union RecursiveUnion2
;
51 typedef sequence
<RecursiveUnion2
> RecursiveUnionSeq2
;
53 union RecursiveUnion2
switch (short)
58 RecursiveUnionSeq2 recursive_unions
;
65 RecursiveUnionSeq2 recursive_unions_second
;
71 struct RecursiveStruct3
;
72 typedef sequence
<RecursiveStruct3
> RecursiveStructSeq3
;
74 union RecursiveUnion3
switch(short)
77 case 1: RecursiveStructSeq3 b
;
78 case 2: RecursiveStructSeq3 c
;
80 struct RecursiveStruct3
85 union RecursiveUnionNoDefault
;
86 typedef sequence
<RecursiveUnionNoDefault
> RecursiveUnionSeqNoDefault
;
88 union RecursiveUnionNoDefault
switch (short)
91 RecursiveUnionSeqNoDefault recursive_unions
;
95 RecursiveUnionSeqNoDefault recursive_unions_second
;
98 // --------------------------
100 // --------------------------
109 union VSortRecursiveUnion
;
110 typedef sequence
<VSortRecursiveUnion
> VSortRecursiveUnionSeq
;
111 union VSortRecursiveUnion
switch (VSort
)
114 VSortRecursiveUnionSeq recursive_unions
;
119 // --------------------------
121 union EnumUnion
switch (VSort
)
129 // --------------------------
131 valuetype IndirectlyRecursiveValuetype
;
132 typedef sequence
<IndirectlyRecursiveValuetype
>
133 IndirectlyRecursiveValuetypeSeq
;
135 valuetype IndirectlyRecursiveValuetype
137 public IndirectlyRecursiveValuetypeSeq recursive_valuetypes
;
140 // --------------------------
142 valuetype DirectlyRecursiveValuetype
144 public DirectlyRecursiveValuetype recursive_valuetype
;
145 public DirectlyRecursiveValuetype recursive_valuetype_second
;
148 // --------------------------
150 enum PositionEnum
{ unknownpos
};
155 typedef CORBA
::OctetSeq OctetSeq
;
162 union NonRecursiveUnionWithEnum
switch (ValueSort
) {
164 Position position_val
;
166 OctetSeq octet_seq_val
;
169 // --------------------------
179 union NonRecursiveUnionWithStringStruct
switch (ValueSort2
) {
184 /// Simple test interface.
187 /// Return the any provided as the "in" argument.
188 any get_any
(in any the_any
);
190 /// Shutdown the server ORB.
191 oneway
void shutdown
();
194 valuetype Recursive2
;
195 typedef sequence
<Recursive2
> Recursive2Seq2
;
199 public struct Innerstruct3a
201 Recursive2Seq2 recursive_unions
;
204 public struct Innerstruct3b
206 Recursive2Seq2 recursive_second
;
210 valuetype Recursive3
;
211 typedef sequence
<Recursive3
> RecursiveSeq3
;
215 public RecursiveSeq3 seq1
;
217 public RecursiveSeq3 seq2
;