// $Id: test.idl,v 1.1 2003/08/27 22:43:35 vz Exp module Test { const short BOUND = 10; const string FailStr = "A string longer then Test::BOUND"; typedef string bounded_string; typedef sequence seq_bd_str; typedef sequence > seq_bds_str; typedef bounded_string arr_bd_str[1]; typedef string arr_bds_str[1]; struct sct { string a; bounded_string b; bounded_string c; }; enum string_field { PLAIN, BOUNDED, TYPEDEFED }; union unn switch (string_field) { case BOUNDED: bounded_string b; case TYPEDEFED: bounded_string c; default: string a; }; exception exc { string a; bounded_string b; bounded_string c; }; valuetype val_bd_str bounded_string; valuetype val_bds_str bounded_string; valuetype val_arr_bd_str arr_bds_str; valuetype vtp { public string a; public bounded_string b; public bounded_string c; }; interface A { enum FailOn { ARG1, ARG2, ARG3, RETN }; bounded_string method (in FailOn where, in bounded_string arg1, out bounded_string arg2, inout bounded_string arg3); bounded_string method_s (in FailOn where, in bounded_string arg1, out bounded_string arg2, inout bounded_string arg3); // Operations on strings. seq_bd_str seq_method (in FailOn where, in seq_bd_str arg1, out seq_bd_str arg2, inout seq_bd_str arg3); seq_bds_str seq_method_s (in FailOn where, in seq_bds_str arg1, out seq_bds_str arg2, inout seq_bds_str arg3); // Operations on sequences. arr_bd_str arr_method (in FailOn where, in arr_bd_str arg1, out arr_bd_str arg2, inout arr_bd_str arg3); arr_bds_str arr_method_s (in FailOn where, in arr_bds_str arg1, out arr_bds_str arg2, inout arr_bds_str arg3); // Operations on arrays. sct sct_method (in FailOn where, in sct arg1, out sct arg2, inout sct arg3); // Operation on structs. unn unn_method (in FailOn where, in unn arg1, out unn arg2, inout unn arg3); // Operation on unions. val_bd_str vbx_method (in FailOn where, in val_bd_str arg1, out val_bd_str arg2, inout val_bd_str arg3); val_bds_str vbx_method_s (in FailOn where, in val_bds_str arg1, out val_bds_str arg2, inout val_bds_str arg3); // Operations on value boxes. vtp vtp_method (in FailOn where, in vtp arg1, out vtp arg2, inout vtp arg3); // Operation on value types. void exc_method (in string_field f) raises (exc); // Operation that throws. oneway void shutdown (); // shutdown the ORB }; };