summaryrefslogtreecommitdiff
path: root/TAO/performance-tests/Cubit/Hardpack/IDL_Cubit/cubit.idl
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 ();
// };