blob: d1d5e447c362d1a9be25c0885b4edfe850a19b00 (
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
|
//
// $Id$
//
/// Put the interfaces in a module, to avoid global namespace pollution
module Test
{
exception Recursive_Type_In_Any_Test_Failed {};
exception Demarshaling_From_Any_Failed {};
struct RecursiveStruct;
typedef sequence<RecursiveStruct> RecursiveStructSeq;
struct RecursiveStruct
{
RecursiveStructSeq recursive_structs;
long i;
RecursiveStructSeq recursive_structs_second;
};
// --------------------------
union RecursiveUnion;
typedef sequence<RecursiveUnion> RecursiveUnionSeq;
union RecursiveUnion switch (short)
{
case 0:
RecursiveUnionSeq recursive_unions;
case 1:
short a;
case 2:
RecursiveUnionSeq recursive_unions_second;
default:
long i;
};
union RecursiveUnionNoDefault;
typedef sequence<RecursiveUnionNoDefault> RecursiveUnionSeqNoDefault;
union RecursiveUnionNoDefault switch (short)
{
case 0:
RecursiveUnionSeqNoDefault recursive_unions;
case 1:
short a;
case 2:
RecursiveUnionSeqNoDefault recursive_unions_second;
};
// --------------------------
// --------------------------
enum VSort {
UNKNOWN_TYPE,
RECURSIVE_TYPE,
LONG_STYPE,
BOOL_STYPE
};
union VSortRecursiveUnion;
typedef sequence<VSortRecursiveUnion> VSortRecursiveUnionSeq;
union VSortRecursiveUnion switch (VSort)
{
case RECURSIVE_TYPE:
VSortRecursiveUnionSeq recursive_unions;
case LONG_STYPE:
long i;
};
// --------------------------
union EnumUnion switch (VSort)
{
case BOOL_STYPE:
boolean a;
case LONG_STYPE:
long i;
};
// --------------------------
valuetype IndirectlyRecursiveValuetype;
typedef sequence<IndirectlyRecursiveValuetype>
IndirectlyRecursiveValuetypeSeq;
valuetype IndirectlyRecursiveValuetype
{
public IndirectlyRecursiveValuetypeSeq recursive_valuetypes;
};
// --------------------------
valuetype DirectlyRecursiveValuetype
{
public DirectlyRecursiveValuetype recursive_valuetype;
public DirectlyRecursiveValuetype recursive_valuetype_second;
};
// --------------------------
/// Simple test interface.
interface Hello
{
/// Return the any provided as the "in" argument.
any get_any (in any the_any);
/// Shutdown the server ORB.
oneway void shutdown ();
};
};
|