summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/idl_specs/union.idl
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/idl_specs/union.idl')
-rw-r--r--TAO/TAO_IDL/idl_specs/union.idl28
1 files changed, 28 insertions, 0 deletions
diff --git a/TAO/TAO_IDL/idl_specs/union.idl b/TAO/TAO_IDL/idl_specs/union.idl
new file mode 100644
index 00000000000..587dae3a9c9
--- /dev/null
+++ b/TAO/TAO_IDL/idl_specs/union.idl
@@ -0,0 +1,28 @@
+// $Id$
+
+struct Bar {
+ long b1;
+ char b2;
+};
+
+union Foo switch (long) {
+case 1: long x;
+case 2: Bar y;
+default: char z;
+};
+
+
+union Foo2 switch (char) {
+ case 'a': long x;
+ case 'b': Foo y;
+};
+
+interface a {
+ struct astruct {
+ Foo2 a1;
+ Foo a2;
+ Bar a3;
+ };
+ Foo2 opA(in astruct b);
+};
+