diff options
author | Erlang/OTP <[email protected]> | 2010-12-16 14:34:26 +0100 |
---|---|---|
committer | Erlang/OTP <[email protected]> | 2010-12-16 14:34:26 +0100 |
commit | 73205a499c16781ecd064ec2446d502b3c0d01b6 (patch) | |
tree | 260a1805f06a1ecef92d03d29853dbddb0bbd803 /lib/orber/test/orber_test_server.idl | |
parent | 99e34bba1a60b262e24496cc9288b549360c6377 (diff) | |
parent | 98a66242abe688d852ec46f4298a364fc0124995 (diff) | |
download | otp-73205a499c16781ecd064ec2446d502b3c0d01b6.tar.gz otp-73205a499c16781ecd064ec2446d502b3c0d01b6.tar.bz2 otp-73205a499c16781ecd064ec2446d502b3c0d01b6.zip |
Merge branch 'nick/orber/recursive_types/OTP-8868' into maint-r14
* nick/orber/recursive_types/OTP-8868:
Support for recursive unions and structs. Break loop if recursive TypeCode.
Added basic tests for recursive uinions and structs.
Removed test code.
Added partial support for recursive IDL types.
Conflicts:
lib/ic/doc/src/notes.xml
lib/ic/vsn.mk
lib/orber/vsn.mk
Diffstat (limited to 'lib/orber/test/orber_test_server.idl')
-rw-r--r-- | lib/orber/test/orber_test_server.idl | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/lib/orber/test/orber_test_server.idl b/lib/orber/test/orber_test_server.idl index a88211c941..438c10e19b 100644 --- a/lib/orber/test/orber_test_server.idl +++ b/lib/orber/test/orber_test_server.idl @@ -28,7 +28,7 @@ module orber_parent { }; module orber_test { - + // interface server interface server : orber_parent::inherrit { typedef string array[2]; @@ -89,6 +89,23 @@ module orber_test { const fixed52 fixed52negconst2 = -123.00d; const fixed52 fixed52negconst3 = -023.00d; + struct rec_struct; // Forward declaration + typedef sequence<rec_struct> rec_struct_seq; + struct rec_struct { + rec_struct_seq chain; + }; + + + union rec_union; // Forward declaration + typedef sequence<rec_union>rec_union_seq; + + enum MyEnum {RecursiveType, NameType}; + + union rec_union switch (MyEnum) { + case RecursiveType : rec_union_seq chain; + case NameType : string aName; + }; + void stop_normal(); void stop_brutal(); @@ -123,6 +140,12 @@ module orber_test { void testing_iiop_context(); void testing_iiop_server_marshal(inout StrLength6 Str); + // Recursive types + any testing_iiop_rec_any(in any RecType); + rec_struct testing_iiop_rec_struct(in rec_struct RecS); + rec_union testing_iiop_rec_union(in rec_union RecU); + + oneway void testing_iiop_oneway_delay(in long Time); void testing_iiop_twoway_delay(in long Time); |