diff options
Diffstat (limited to 'modules/CIAO/tests/IDL_Test/Cornucopia/Cornucopia.idl')
-rw-r--r-- | modules/CIAO/tests/IDL_Test/Cornucopia/Cornucopia.idl | 107 |
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); + }; +}; + |