summaryrefslogtreecommitdiff
path: root/ACE/TAO/orbsvcs/tests/InterfaceRepo/IDL3_Test/test.idl
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/TAO/orbsvcs/tests/InterfaceRepo/IDL3_Test/test.idl')
-rw-r--r--ACE/TAO/orbsvcs/tests/InterfaceRepo/IDL3_Test/test.idl137
1 files changed, 137 insertions, 0 deletions
diff --git a/ACE/TAO/orbsvcs/tests/InterfaceRepo/IDL3_Test/test.idl b/ACE/TAO/orbsvcs/tests/InterfaceRepo/IDL3_Test/test.idl
new file mode 100644
index 00000000000..bbb6c86a00e
--- /dev/null
+++ b/ACE/TAO/orbsvcs/tests/InterfaceRepo/IDL3_Test/test.idl
@@ -0,0 +1,137 @@
+// -*- C++ -*-
+// $Id$
+
+#ifndef INTERFACEREPO_IDL3_TEST
+#define INTERFACEREPO_IDL3_TEST
+
+// This module is here to contain the base valuetype for
+// h_key below. This base class is required when a valuetype
+// is used as a primary key. This module replaces the original
+// #include of Components.idl, and breaks the resulting
+// dependency of this test on CIAO. Note that this workaround
+// is sufficient for the IFR loader, which is the only thing
+// that processes this IDL file in the test. If the IDL
+// compiler is executed on this file, there will be
+// lookup errors, since it needs to find more things from
+// Components.idl.
+module Components
+{
+ typeprefix Components "omg.org";
+
+ abstract valuetype PrimaryKeyBase {};
+};
+
+module help
+{
+ exception doh {};
+ exception whups {};
+};
+
+module help
+{
+ interface c_supp1 {};
+ interface c_supp2 {};
+ component c_base supports c_supp1, c_supp2 {};
+ valuetype v_base_base {};
+ valuetype v_base : v_base_base {};
+ interface v_supp1 {};
+ abstract interface v_supp2 {};
+
+ valuetype h_key : Components::PrimaryKeyBase
+ {
+ public long id_key;
+ };
+
+ interface h_supp1 {};
+ interface h_supp2 {};
+ home h_base supports h_supp1, h_supp2 manages c_base {};
+};
+
+module help
+{
+ interface c_provides1 {};
+ interface c_uses1 {};
+ interface c_uses2 {};
+ eventtype c_emits1 {};
+ eventtype c_publishes1 {};
+ eventtype c_consumes1 {};
+};
+
+module mod
+{
+ component test_component : help::c_base
+ {
+ attribute long c_attr1
+ getraises (help::doh)
+ setraises (help::whups, help::doh);
+
+ provides help::c_provides1 test_provides1;
+
+ uses help::c_uses1 test_uses1;
+
+ uses multiple help::c_uses2 test_uses2;
+
+ emits help::c_emits1 test_emits1;
+
+ publishes help::c_publishes1 test_publishes1;
+
+ consumes help::c_consumes1 test_consumes1;
+ };
+
+ valuetype test_valuetype
+ : help::v_base supports help::v_supp1, help::v_supp2
+ {
+ attribute long c_attr1
+ getraises (help::doh)
+ setraises (help::whups, help::doh);
+
+ string v_op (inout string inoutarg,
+ in help::v_supp1 inarg,
+ out long outarg)
+ raises (help::doh, help::whups);
+
+ public string test_mem1;
+ private short test_mem2;
+
+ factory default_factory (in string set_tm1);
+ factory create_tv (in string set_tm1a,
+ in short set_tm2)
+ raises (help::whups, help::doh);
+ };
+
+ home test_home : help::h_base
+ manages test_component primarykey help::h_key
+ {
+ factory create_tc (in string set_uid)
+ raises (help::doh);
+
+ finder find_tc (in long id_number,
+ in string id_string,
+ in help::h_key pkey)
+ raises (help::whups);
+ };
+
+ eventtype test_eventtype
+ : help::v_base supports help::v_supp1, help::v_supp2
+ {
+ attribute long c_attr1
+ getraises (help::doh)
+ setraises (help::whups, help::doh);
+
+ string v_op (inout string inoutarg,
+ in help::v_supp1 inarg,
+ out long outarg)
+ raises (help::doh, help::whups);
+
+ public string test_mem1;
+ private short test_mem2;
+
+ factory default_factory (in string set_tm1);
+ factory create_tv (in string set_tm1a,
+ in short set_tm2)
+ raises (help::whups, help::doh);
+ };
+};
+
+#endif /* INTERFACEREPO_IDL3_TEST */
+