blob: f15c0dd0e0e43a80388d0f9bcd4e62fb8f94ea68 (
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
|
//
// $Id$
//
#include "tao/OctetSeq.pidl"
#include "tao/StringSeq.pidl"
/// 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 {};
enum MyAttRefValEnum {
ArvAttribute,
ArvInteger,
ArvComposition
};
// NOTE: the (deprecated) anonymous sequence type in the union
// is intentional; the IDL compiler generated different
// code for this case as compared to using a proper
// forward and typedef.
struct MyAttRef {
string attRefName;
string attRefQualifier;
union MyAttRefValue switch(MyAttRefValEnum) {
case ArvAttribute: string attrValue; //value of a simple attribute
case ArvInteger: long intValue; // just for testing
case ArvComposition: sequence <MyAttRef> compValue; //a composition by specifying a sequence of MyAttRef elements.
} attRefValue;
};
typedef sequence <MyAttRef> MyAttRefSequence;
/// 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 ();
};
};
|