summaryrefslogtreecommitdiff
path: root/modules/CIAO/tests/IDL_Test/Cornucopia/Cornucopia.idl
diff options
context:
space:
mode:
Diffstat (limited to 'modules/CIAO/tests/IDL_Test/Cornucopia/Cornucopia.idl')
-rw-r--r--modules/CIAO/tests/IDL_Test/Cornucopia/Cornucopia.idl107
1 files changed, 107 insertions, 0 deletions
diff --git a/modules/CIAO/tests/IDL_Test/Cornucopia/Cornucopia.idl b/modules/CIAO/tests/IDL_Test/Cornucopia/Cornucopia.idl
new file mode 100644
index 00000000000..180db9bf901
--- /dev/null
+++ b/modules/CIAO/tests/IDL_Test/Cornucopia/Cornucopia.idl
@@ -0,0 +1,107 @@
+// $Id$
+/**
+ * @file Cornucopia.idl
+ * @author Jeff Parsons <j.parsons@vanderbilt.edu>
+ *
+ * Tests TAO_IDL generation of CIAO servant, executor IDL
+ * and executor implementation stencil for a variety of
+ * IDL3 constructs.
+ */
+
+#include <Components.idl>
+
+module Supported
+{
+ interface IfacePawPaw
+ {
+ long paw_paw_op (out short spew);
+ attribute boolean inbred;
+ };
+
+ interface IfaceMom : IfacePawPaw
+ {
+ readonly attribute wchar uni_tag;
+ IfacePawPaw get_paw_paw ();
+ };
+
+ interface IfaceDad : IfacePawPaw
+ {
+ attribute string msg;
+ long long get_big_int (in IfacePawPaw genealogy);
+ };
+
+ interface Iface : IfaceMom, IfaceDad
+ {
+ attribute wstring uni_uuid;
+ void supported_op (inout unsigned long index);
+ };
+};
+
+interface pface {};
+interface uface {};
+interface umface {};
+
+valuetype pkey : Components::PrimaryKeyBase
+{
+ public string info;
+};
+
+eventtype pubtype {};
+eventtype emittype {};
+eventtype eattype {};
+
+exception BadGet {};
+exception BadSet {};
+exception Whatever {};
+
+module BaseMod
+{
+component CompBase supports Supported::Iface
+ {
+ attribute octet the_byte
+ getraises (BadGet, Whatever) setraises (BadSet);
+ };
+};
+
+enum Color
+{
+ RED,
+ WHITE,
+ BLUE
+};
+
+module DerivedMod
+{
+ component CompDerived : BaseMod::CompBase
+ {
+ attribute Color stripe;
+ provides pface pface_provider;
+ uses uface uface_user;
+ uses multiple umface umface_umuser;
+ publishes pubtype pubtype_publisher;
+ emits emittype emittype_emitter;
+ consumes eattype eattype_consumer;
+ };
+};
+
+module HomeMod
+{
+ home CompBaseHome supports Supported::Iface manages BaseMod::CompBase
+ {
+ readonly attribute Color shade;
+ pface fetch_managed_ports (out uface recep);
+ factory base_init (in string id, in unsigned short uni_raw)
+ raises (Whatever);
+ finder bathroom_sink ();
+ };
+
+ home CompDerivedHome : CompBaseHome manages DerivedMod::CompDerived
+ {
+ exception ch_except {};
+ void ch_op () raises (ch_except);
+ factory def_init ();
+ finder kitchen_sink (in string uid, in pkey key, in boolean all)
+ raises (ch_except);
+ };
+};
+