blob: cc14781d7da8101cfd09e06799bab135765292ff (
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
|
/* -*- C++ -*- */
// $Id$
interface Cubit
// = TITLE
// Defines an interface that encapsulates operations that cube
// numbers.
//
// = DESCRIPTION
// This interface encapsulates operations that cube
// octets, shorts, longs, structs and unions.
{
oneway void cube_oneway ();
// test the basic latency of a nil oneway operation
void cube_void ();
// Test the bassic latency of a nil operation
octet cube_octet (in octet o);
// cube an octet
short cube_short (in short s);
// cube a short
long cube_long (in long l);
// cube a long
struct Many
{
octet o; // + 3 bytes padding (normally) ...
long l;
short s; // + 2 bytes padding (normally) ...
};
Many cube_struct (in Many values);
// Cube a struct
// enum discrim
// {
// e_0th,
// e_1st,
// e_2nd,
// e_3rd
// };
// // Enumeration of the different elements in a union.
// union oneof switch (discrim)
// {
// // this is an easy union to interpret; no padding
// // is needed between discriminant and value.
// case e_0th:
// octet o;
// case e_1st:
// short s;
// case e_2nd:
// long l;
// case e_3rd:
// Many cm;
// // default:
// // Many cm;
// };
// // Union of different types.
// oneof cube_union (in oneof values);
// // cube a union.
typedef sequence<long> long_seq;
void cube_long_sequence (in long_seq input,
out long_seq output);
// Cube several longs.
typedef sequence<octet> octet_seq;
void cube_octet_sequence (in octet_seq input, out octet_seq output);
// Cube an octet sequence.
oneway void shutdown ();
// shutdown the application.
};
// interface Cubit_Shutdown
// {
// // = TITLE
// // We need this class to shutdown the server
// // when testing collocation.
// oneway void shutdown ();
// // shutdown the program.
// };
// interface Cubit_Factory
// // = TITLE
// // Creates Cubit objects.
// {
// Cubit make_cubit ();
// };
|