2
// cubit.idl,v 1.2 2002/07/26 13:10:22 elliott_c Exp
7
// Defines an interface that encapsulates operations that cube
11
// This interface encapsulates operations that cube
12
// octets, shorts, longs, structs and unions.
14
oneway void cube_oneway ();
15
// Test the basic latency of a nil oneway operation.
18
// Test the basic latency of a nil operation.
20
octet cube_octet (in octet o);
23
short cube_short (in short s);
26
long cube_long (in long l);
31
octet o; // + 3 bytes padding (normally) ...
33
short s; // + 2 bytes padding (normally) ...
36
Many cube_struct (in Many values);
39
any cube_any(in any value);
41
any cube_any_struct(in any value);
50
// Enumeration of the different elements in a union.
52
union oneof switch (discrim)
54
// this is an easy union to interpret; no padding
55
// is needed between discriminant and value.
68
// Union of different types.
70
oneof cube_union (in oneof values);
73
typedef sequence<long> long_seq;
74
void cube_long_sequence (in long_seq input,
76
// Cube several longs.
78
typedef sequence<octet> octet_seq;
79
void cube_octet_sequence (in octet_seq input, out octet_seq output);
80
// Cube an octet sequence.
82
typedef sequence<Many> many_seq;
83
void cube_many_sequence (in many_seq input,
85
// Cube several manys.
87
oneway void shutdown ();
88
// shutdown the application.
90
// = The following types provide a torture-test for structs.
91
struct RtiPacketHeader
93
unsigned long packetLength; // this is probably redundant
94
unsigned short federationHandle;
95
unsigned long channelHandle;
96
unsigned long packetColor;
99
struct HandleValuePair
101
unsigned short handle;
105
enum MessageHeaderTypes
112
typedef sequence<HandleValuePair> HandleValuePairSeq;
113
struct RtiObjectUpdateMessageHeader
115
unsigned long updateLength; // probably redundant
116
unsigned long updateTag;
117
unsigned long objectHandle;
119
unsigned long long eventRetractionHandle;
120
unsigned short classHandle;
121
unsigned short sendingFederateHandle;
123
octet_seq regionData;
124
octet transportationHandle;
125
octet orderingHandle;
126
HandleValuePairSeq messagePayload;
129
struct RtiInteractionMessageHeader
131
unsigned long updateLength;
132
// similar to object update
135
union MessageUnion switch(MessageHeaderTypes)
138
RtiObjectUpdateMessageHeader oumh;
140
RtiInteractionMessageHeader imh;
143
typedef sequence <MessageUnion> MessageUnionSeq;
146
RtiPacketHeader packetHeader;
147
MessageUnionSeq msgs;
150
void cube_rti_data (in RtiPacket input,
151
out RtiPacket output);
153
// A work around for problems with SHMIOP since this test uses
158
interface Cubit_Factory
161
// Creates Cubit objects.