aboutsummaryrefslogtreecommitdiffstats
path: root/lib/orber/test/orber_test_server.idl
diff options
context:
space:
mode:
authorErlang/OTP <[email protected]>2010-12-16 14:34:26 +0100
committerErlang/OTP <[email protected]>2010-12-16 14:34:26 +0100
commit73205a499c16781ecd064ec2446d502b3c0d01b6 (patch)
tree260a1805f06a1ecef92d03d29853dbddb0bbd803 /lib/orber/test/orber_test_server.idl
parent99e34bba1a60b262e24496cc9288b549360c6377 (diff)
parent98a66242abe688d852ec46f4298a364fc0124995 (diff)
downloadotp-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.idl25
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);