2 // This file contains few valuetypes to show and test truncatable feature of
6 module OBV_TruncatableTest
13 public unsigned long basic_data
;
17 // Valuetype with one-level truncatable inheritence.
19 valuetype TValue1
: truncatable BaseValue
21 public unsigned long data1
;
25 // Valuetype with multi-level truncatable inheritence.
27 valuetype TValue2
: truncatable TValue1
29 public unsigned long data2
;
33 // Valuetype with multi-level inheritence, but not all truncatable.
35 valuetype TValue3
: TValue1
37 public unsigned long data3
;
41 // An valuetype nested in a valuetype.
49 // Truncatable valuetype with nested valuetype.
51 valuetype TValue4
: truncatable BaseValue
53 public NestedValue nv4
;
54 public unsigned long data4
;
58 // More complex truncatable valuetype.
60 valuetype TValue5
: truncatable TValue4
63 public unsigned long data5
;
64 public NestedValue nv5
;
69 // No data valuetype with truncatable parent.
70 valuetype TValue6
: truncatable BaseValue
75 // Interface to pass valuetypes.
80 //NOTE: the "desc" parameter helps verify that truncated values are skipped properly.
81 // the output is "<id>: <input desc>"
82 void op1
(in string id, in BaseValue iv
, out BaseValue ov
, inout
string desc
);
83 void op2
(in TValue1 iv
, in string id, out TValue1 ov
, inout
string desc
);
84 void op3
(in string id, in TValue4 iv
, out TValue4 ov
, inout
string desc
);
85 BaseValue op4
(in string id,
93 void op5
(in any val
, in string id, out TValue1 ov
, inout
string desc
);
95 // Shutdown the romote ORB
96 oneway
void shutdown
();