summaryrefslogtreecommitdiff
path: root/tests/IDL_Test/dif2.idl
blob: 5f605c3b16d9e7446e2df295aebf93706e168378 (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
97
98
99
100
101
102
103
// $Id$

// ============================================================================
//
// = LIBRARY
//    TAO/tests/IDL_Test
//
// = FILENAME
//    dif2.idl
//
// = DESCRIPTION
//    Tests of interface operations and attributes in IDL constructs
//
// = AUTHORS
//    Andy Gokhale <gokhale@dre.vanderbilt.edu>
//
// ============================================================================

module OldDif2
{
  interface ex1
  {
    void op0 ();
    
    float op1 (in float f,
               out double d,
               inout long l);
               
    double op2 (in double d,
                out long l,
                inout short s);
                
    long op3 (in long l,
              out short s,
              inout unsigned long ul);
              
    short op4 (in short s,
               out unsigned long ul,
               inout unsigned short us);
               
    unsigned long op5 (inout unsigned long ul,
                       in unsigned short us,
                       out char c,
                       in boolean b);
                       
    unsigned short op6 (out unsigned short us,
                        inout char c);
  };

  interface ex2 : ex1 
  {
    // Operations continued from ex1.
    char op7 (in char c,
              out boolean b,
              inout octet o);
              
    boolean op8 (out boolean b,
                 in octet o);
                 
    octet op9 (inout octet o,
               out string s,
               in string <10> ls,
               inout long l);
               
    string op10 (in string s,
                 out string <10> ls);
                 
    string <10> op11 (inout string <10> ls,
                      out long l);
                      
    long op12 (in long l);
  };

  interface ex3 : ex1
  {
    readonly attribute float float_attribute;
    
    attribute double double_attribute;
    
    readonly attribute long long_attribute;
    
    attribute short short_attribute;
    
    readonly attribute unsigned long unsigned_long_attribute;
  };

  interface ex4 : ex2, ex3
  {
    attribute unsigned short unsigned_short_attribute;
    
    readonly attribute char char_attribute;
    
    attribute boolean boolean_attribute;
    
    readonly attribute octet octet_attribute;
    
    attribute string string_attribute;
    
    readonly attribute string <10> limited_string_attribute;
    
    readonly attribute ex4 an_object_attribute;
  };
};