summaryrefslogtreecommitdiff
path: root/trunk/TAO/tests/OBV/ValueBox/vb_basic.idl
blob: 3c4c5f09c54db12e9a8cd9d888fd02b84a89425f (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
// $Id$

//=========================================================================
// Valuebox of basic types
//=========================================================================

// Valuebox of all basic types defined at outermost scope:

enum Color { red, orange, yellow, green, blue, indigo, violet }; 

valuetype VBshort      short;
valuetype VBlong       long;
valuetype VBlonglong   long long;
valuetype VBushort     unsigned short;
valuetype VBulong      unsigned long;
valuetype VBulonglong  unsigned long long;
valuetype VBchar       char;
valuetype VBwchar      wchar;
valuetype VBboolean    boolean;
valuetype VBoctet      octet;
valuetype VBfloat      float;
valuetype VBdouble     double;
valuetype VBlongdouble long double;
valuetype VBenum       Color;

// Typedefs of basic types
typedef short              TDshort;
typedef long               TDlong;
typedef long long          TDlonglong;
typedef unsigned short     TDushort;
typedef unsigned long      TDulong;
typedef unsigned long long TDulonglong;
typedef char               TDchar;
typedef wchar              TDwchar;
typedef boolean            TDboolean;
typedef octet              TDoctet;
typedef float              TDfloat;
typedef double             TDdouble;
typedef long double        TDlongdouble;
typedef Color              TDenum;

// Value box of typedef of basic types
valuetype VBTDshort      TDshort;
valuetype VBTDlong       TDlong;
valuetype VBTDlonglong   TDlonglong;
valuetype VBTDushort     TDushort;
valuetype VBTDulong      TDulong;
valuetype VBTDulonglong  TDulonglong;
valuetype VBTDchar       TDchar;
valuetype VBTDwchar      TDwchar;
valuetype VBTDboolean    TDboolean;
valuetype VBTDoctet      TDoctet;
valuetype VBTDfloat      TDfloat;
valuetype VBTDdouble     TDdouble;
valuetype VBTDlongdouble TDlongdouble;
valuetype VBTDenum       TDenum;
// $Id$

// Any and typedef of any
valuetype VBany  any;
typedef any TDany;
valuetype VBTDany TDany;

module vb_basic
{
    // Valuebox defined within a module scope
    valuetype M_VBlong long;

    interface Test
    {
        M_VBlong basic_op1(in M_VBlong  p1, inout M_VBlong  p2,
                           out M_VBlong  p3);
    };
};

// Valuebox of an interface
valuetype VBinterface    vb_basic::Test;