Use =default for skeleton copy constructor
[ACE_TAO.git] / TAO / tests / OBV / Truncatable / Truncatable.idl
blobe5f7542b6bcbc7b2781bd941bef734bf4d060386
1 //
2 // This file contains few valuetypes to show and test truncatable feature of
3 // valuetype.
4 //
6 module OBV_TruncatableTest
8 //
9 // Base valuetype.
11 valuetype BaseValue
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.
43 valuetype NestedValue
45 public long data;
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
62 public string str1;
63 public unsigned long data5;
64 public NestedValue nv5;
65 public string str2;
69 // No data valuetype with truncatable parent.
70 valuetype TValue6 : truncatable BaseValue
75 // Interface to pass valuetypes.
77 interface Test
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,
86 in TValue1 iv1,
87 in short x,
88 in TValue4 iv2,
89 in TValue4 iv3,
90 in TValue1 iv4,
91 inout string desc);
93 void op5 (in any val, in string id, out TValue1 ov, inout string desc);
95 // Shutdown the romote ORB
96 oneway void shutdown ();