summaryrefslogtreecommitdiff
path: root/modules/CIAO/tests/IDL3
diff options
context:
space:
mode:
Diffstat (limited to 'modules/CIAO/tests/IDL3')
-rw-r--r--modules/CIAO/tests/IDL3/Components/ComplexComponent/Attributes/Attributes.idl51
-rw-r--r--modules/CIAO/tests/IDL3/Components/ComplexComponent/Attributes/Attributes.mpc17
-rw-r--r--modules/CIAO/tests/IDL3/Components/ComplexComponent/Attributes/Attributes_stub_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/Components/ComplexComponent/Attributes/Attributes_svnt_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSink/EventSink.idl29
-rw-r--r--modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSink/EventSink.mpc18
-rw-r--r--modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSink/EventSink_stub_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSink/EventSink_svnt_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSource/EventSource.idl24
-rw-r--r--modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSource/EventSource.mpc17
-rw-r--r--modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSource/EventSource_stub_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSource/EventSource_svnt_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/Components/ComplexComponent/Facets/Facets.idl46
-rw-r--r--modules/CIAO/tests/IDL3/Components/ComplexComponent/Facets/Facets.mpc17
-rw-r--r--modules/CIAO/tests/IDL3/Components/ComplexComponent/Facets/Facets_stub_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/Components/ComplexComponent/Facets/Facets_svnt_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/Components/ComplexComponent/Receptacles/Receptacles.idl68
-rw-r--r--modules/CIAO/tests/IDL3/Components/ComplexComponent/Receptacles/Receptacles.mpc17
-rw-r--r--modules/CIAO/tests/IDL3/Components/ComplexComponent/Receptacles/Receptacles_stub_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/Components/ComplexComponent/Receptacles/Receptacles_svnt_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/Components/SimpleComponent/SimpleComponent.idl96
-rw-r--r--modules/CIAO/tests/IDL3/Components/SimpleComponent/SimpleComponent.mpc17
-rw-r--r--modules/CIAO/tests/IDL3/Components/SimpleComponent/SimpleComponent_exec_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/Components/SimpleComponent/SimpleComponent_stub_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/Components/SimpleComponent/SimpleComponent_svnt_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/Events/Abstract/Abstract.idl38
-rw-r--r--modules/CIAO/tests/IDL3/Events/Abstract/Abstract.mpc17
-rw-r--r--modules/CIAO/tests/IDL3/Events/Abstract/Abstract_stub_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/Events/Abstract/Abstract_svnt_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/Events/Any/Any.mpc26
-rw-r--r--modules/CIAO/tests/IDL3/Events/Any/EventAny.idl16
-rw-r--r--modules/CIAO/tests/IDL3/Events/Any/README35
-rw-r--r--modules/CIAO/tests/IDL3/Events/Any/main.cpp85
-rwxr-xr-xmodules/CIAO/tests/IDL3/Events/Any/run_test.pl31
-rw-r--r--modules/CIAO/tests/IDL3/Events/Regular/Regular.idl44
-rw-r--r--modules/CIAO/tests/IDL3/Events/Regular/Regular.mpc20
-rw-r--r--modules/CIAO/tests/IDL3/Events/Regular/Regular_stub_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/Events/Regular/Regular_svnt_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/Homes/Attributes/HomeAttributes.idl54
-rw-r--r--modules/CIAO/tests/IDL3/Homes/Attributes/HomeAttributes.mpc17
-rw-r--r--modules/CIAO/tests/IDL3/Homes/Attributes/HomeAttributes_stub_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/Homes/Attributes/HomeAttributes_svnt_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/Homes/Basic/Basic.idl31
-rw-r--r--modules/CIAO/tests/IDL3/Homes/Basic/Basic.mpc17
-rw-r--r--modules/CIAO/tests/IDL3/Homes/Basic/Basic_stub_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/Homes/Basic/Basic_svnt_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/Homes/Factory/Factory.idl35
-rw-r--r--modules/CIAO/tests/IDL3/Homes/Factory/Factory.mpc17
-rw-r--r--modules/CIAO/tests/IDL3/Homes/Factory/Factory_stub_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/Homes/Factory/Factory_svnt_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/Homes/Finder/Finder.idl30
-rw-r--r--modules/CIAO/tests/IDL3/Homes/Finder/Finder.mpc17
-rw-r--r--modules/CIAO/tests/IDL3/Homes/Finder/Finder_stub_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/Homes/Finder/Finder_svnt_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/Homes/Inheritance/Inheritance.idl33
-rw-r--r--modules/CIAO/tests/IDL3/Homes/Inheritance/Inheritance.mpc17
-rw-r--r--modules/CIAO/tests/IDL3/Homes/Inheritance/Inheritance_stub_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/Homes/Inheritance/Inheritance_svnt_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/All/README88
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/All/all.mpc40
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/All/convert.idl53
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/All/include.idl35
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/All/keyword_clash.idl89
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/All/pass_through.idl94
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/All/raw_include.idl27
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/Components/Basic/ICBasic.idl25
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/Components/Basic/ICBasic.mpc17
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/Components/Basic/ICBasic_stub_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/Components/Basic/ICBasic_svnt_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSink/ICEventSink.idl27
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSink/ICEventSink.mpc17
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSink/ICEventSink_stub_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSink/ICEventSink_svnt_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSource/ICEventSource.idl38
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSource/ICEventSource.mpc17
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSource/ICEventSource_stub_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSource/ICEventSource_svnt_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/Components/Receptacles/ICReceptacles.idl28
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/Components/Receptacles/ICReceptacles.mpc18
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/Components/Receptacles/ICReceptacles_stub_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/Components/Receptacles/ICReceptacles_svnt_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/Events/Events.idl22
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/Events/Events.mpc17
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/Events/Events_stub_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/Events/Events_svnt_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/Homes/Homes.idl28
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/Homes/Homes.mpc18
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/Homes/Homes_stub_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/ImpliedIDL/Homes/Homes_svnt_export.h58
-rw-r--r--modules/CIAO/tests/IDL3/Lookup/README21
-rw-r--r--modules/CIAO/tests/IDL3/Lookup/lookup_test.idl76
-rw-r--r--modules/CIAO/tests/IDL3/Lookup/lookup_test.mpc18
92 files changed, 4072 insertions, 0 deletions
diff --git a/modules/CIAO/tests/IDL3/Components/ComplexComponent/Attributes/Attributes.idl b/modules/CIAO/tests/IDL3/Components/ComplexComponent/Attributes/Attributes.idl
new file mode 100644
index 00000000000..15c32fe82b3
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Components/ComplexComponent/Attributes/Attributes.idl
@@ -0,0 +1,51 @@
+// $Id$
+/**
+ * @file Attributes.idl
+ * @author Will Otte <wotte@dre.vanderbilt.edu>
+ */
+
+#include <Components.idl>
+
+module Attributes
+{
+ component Foo
+ {
+ attribute float test;
+ attribute long testA, testB;
+ };
+
+ component Bar
+ {
+ readonly attribute float test1;
+ readonly attribute long testB, testC;
+ };
+
+ exception FooException
+ {
+ };
+
+ exception BarException
+ {
+ };
+
+ component FooRaises
+ {
+ attribute float test2 getraises (FooException);
+ };
+
+ component BarRaises
+ {
+ attribute float test3 setraises (BarException);
+ };
+
+ component FooBarRaises
+ {
+ attribute float test4
+ getraises (FooException) setraises (BarException);
+ };
+
+ component ROFooRaises
+ {
+ readonly attribute float test5 raises (FooException);
+ };
+};
diff --git a/modules/CIAO/tests/IDL3/Components/ComplexComponent/Attributes/Attributes.mpc b/modules/CIAO/tests/IDL3/Components/ComplexComponent/Attributes/Attributes.mpc
new file mode 100644
index 00000000000..eea659666a3
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Components/ComplexComponent/Attributes/Attributes.mpc
@@ -0,0 +1,17 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -n Attributes"
+
+project(Attributes_stub): ccm_stub {
+
+ sharedname = Attributes_stub
+ idlflags += -Wb,stub_export_macro=ATTRIBUTES_STUB_Export -Wb,stub_export_include=Attributes_stub_export.h -Wb,skel_export_macro=ATTRIBUTES_SVNT_Export -Wb,skel_export_include=Attributes_svnt_export.h
+ dynamicflags = ATTRIBUTES_STUB_BUILD_DLL
+
+ IDL_Files {
+ Attributes.idl
+ }
+
+ Source_Files {
+ AttributesC.cpp
+ }
+}
diff --git a/modules/CIAO/tests/IDL3/Components/ComplexComponent/Attributes/Attributes_stub_export.h b/modules/CIAO/tests/IDL3/Components/ComplexComponent/Attributes/Attributes_stub_export.h
new file mode 100644
index 00000000000..dfa59c5b267
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Components/ComplexComponent/Attributes/Attributes_stub_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl ATTRIBUTES_STUB
+// ------------------------------
+#ifndef ATTRIBUTES_STUB_EXPORT_H
+#define ATTRIBUTES_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (ATTRIBUTES_STUB_HAS_DLL)
+# define ATTRIBUTES_STUB_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && ATTRIBUTES_STUB_HAS_DLL */
+
+#if !defined (ATTRIBUTES_STUB_HAS_DLL)
+# define ATTRIBUTES_STUB_HAS_DLL 1
+#endif /* ! ATTRIBUTES_STUB_HAS_DLL */
+
+#if defined (ATTRIBUTES_STUB_HAS_DLL) && (ATTRIBUTES_STUB_HAS_DLL == 1)
+# if defined (ATTRIBUTES_STUB_BUILD_DLL)
+# define ATTRIBUTES_STUB_Export ACE_Proper_Export_Flag
+# define ATTRIBUTES_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define ATTRIBUTES_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* ATTRIBUTES_STUB_BUILD_DLL */
+# define ATTRIBUTES_STUB_Export ACE_Proper_Import_Flag
+# define ATTRIBUTES_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define ATTRIBUTES_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* ATTRIBUTES_STUB_BUILD_DLL */
+#else /* ATTRIBUTES_STUB_HAS_DLL == 1 */
+# define ATTRIBUTES_STUB_Export
+# define ATTRIBUTES_STUB_SINGLETON_DECLARATION(T)
+# define ATTRIBUTES_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* ATTRIBUTES_STUB_HAS_DLL == 1 */
+
+// Set ATTRIBUTES_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (ATTRIBUTES_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define ATTRIBUTES_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define ATTRIBUTES_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !ATTRIBUTES_STUB_NTRACE */
+
+#if (ATTRIBUTES_STUB_NTRACE == 1)
+# define ATTRIBUTES_STUB_TRACE(X)
+#else /* (ATTRIBUTES_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define ATTRIBUTES_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (ATTRIBUTES_STUB_NTRACE == 1) */
+
+#endif /* ATTRIBUTES_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/Components/ComplexComponent/Attributes/Attributes_svnt_export.h b/modules/CIAO/tests/IDL3/Components/ComplexComponent/Attributes/Attributes_svnt_export.h
new file mode 100644
index 00000000000..e641264d206
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Components/ComplexComponent/Attributes/Attributes_svnt_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl ATTRIBUTES_SVNT
+// ------------------------------
+#ifndef ATTRIBUTES_SVNT_EXPORT_H
+#define ATTRIBUTES_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (ATTRIBUTES_SVNT_HAS_DLL)
+# define ATTRIBUTES_SVNT_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && ATTRIBUTES_SVNT_HAS_DLL */
+
+#if !defined (ATTRIBUTES_SVNT_HAS_DLL)
+# define ATTRIBUTES_SVNT_HAS_DLL 1
+#endif /* ! ATTRIBUTES_SVNT_HAS_DLL */
+
+#if defined (ATTRIBUTES_SVNT_HAS_DLL) && (ATTRIBUTES_SVNT_HAS_DLL == 1)
+# if defined (ATTRIBUTES_SVNT_BUILD_DLL)
+# define ATTRIBUTES_SVNT_Export ACE_Proper_Export_Flag
+# define ATTRIBUTES_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define ATTRIBUTES_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* ATTRIBUTES_SVNT_BUILD_DLL */
+# define ATTRIBUTES_SVNT_Export ACE_Proper_Import_Flag
+# define ATTRIBUTES_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define ATTRIBUTES_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* ATTRIBUTES_SVNT_BUILD_DLL */
+#else /* ATTRIBUTES_SVNT_HAS_DLL == 1 */
+# define ATTRIBUTES_SVNT_Export
+# define ATTRIBUTES_SVNT_SINGLETON_DECLARATION(T)
+# define ATTRIBUTES_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* ATTRIBUTES_SVNT_HAS_DLL == 1 */
+
+// Set ATTRIBUTES_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (ATTRIBUTES_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define ATTRIBUTES_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define ATTRIBUTES_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !ATTRIBUTES_SVNT_NTRACE */
+
+#if (ATTRIBUTES_SVNT_NTRACE == 1)
+# define ATTRIBUTES_SVNT_TRACE(X)
+#else /* (ATTRIBUTES_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define ATTRIBUTES_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (ATTRIBUTES_SVNT_NTRACE == 1) */
+
+#endif /* ATTRIBUTES_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSink/EventSink.idl b/modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSink/EventSink.idl
new file mode 100644
index 00000000000..7d995acb617
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSink/EventSink.idl
@@ -0,0 +1,29 @@
+// $Id$
+/**
+ * @file EventSink.idl
+ * @author Will Otte <wotte@dre.vanderbilt.edu>
+ */
+
+#include <Components.idl>
+
+module EventSink
+{
+ eventtype foo_event
+ {
+ };
+
+ eventtype bar_event
+ {
+ };
+
+ component Foo
+ {
+ consumes foo_event foo;
+ };
+
+ component Bar : Foo
+ {
+ consumes bar_event bar;
+ };
+
+};
diff --git a/modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSink/EventSink.mpc b/modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSink/EventSink.mpc
new file mode 100644
index 00000000000..79ca1898fd6
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSink/EventSink.mpc
@@ -0,0 +1,18 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -n EventSink"
+
+project(EventSink_stub): ccm_stub {
+
+ sharedname = EventSink_stub
+ idlflags += -Wb,stub_export_macro=EVENTSINK_STUB_Export -Wb,stub_export_include=EventSink_stub_export.h -Wb,skel_export_macro=EVENTSINK_SVNT_Export -Wb,skel_export_include=EventSink_svnt_export.h
+ dynamicflags = EVENTSINK_STUB_BUILD_DLL
+
+ IDL_Files {
+ EventSink.idl
+ }
+
+ Source_Files {
+ EventSinkC.cpp
+ }
+}
+
diff --git a/modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSink/EventSink_stub_export.h b/modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSink/EventSink_stub_export.h
new file mode 100644
index 00000000000..e2a7f876165
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSink/EventSink_stub_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl EVENTSINK_STUB
+// ------------------------------
+#ifndef EVENTSINK_STUB_EXPORT_H
+#define EVENTSINK_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (EVENTSINK_STUB_HAS_DLL)
+# define EVENTSINK_STUB_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && EVENTSINK_STUB_HAS_DLL */
+
+#if !defined (EVENTSINK_STUB_HAS_DLL)
+# define EVENTSINK_STUB_HAS_DLL 1
+#endif /* ! EVENTSINK_STUB_HAS_DLL */
+
+#if defined (EVENTSINK_STUB_HAS_DLL) && (EVENTSINK_STUB_HAS_DLL == 1)
+# if defined (EVENTSINK_STUB_BUILD_DLL)
+# define EVENTSINK_STUB_Export ACE_Proper_Export_Flag
+# define EVENTSINK_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define EVENTSINK_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* EVENTSINK_STUB_BUILD_DLL */
+# define EVENTSINK_STUB_Export ACE_Proper_Import_Flag
+# define EVENTSINK_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define EVENTSINK_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* EVENTSINK_STUB_BUILD_DLL */
+#else /* EVENTSINK_STUB_HAS_DLL == 1 */
+# define EVENTSINK_STUB_Export
+# define EVENTSINK_STUB_SINGLETON_DECLARATION(T)
+# define EVENTSINK_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* EVENTSINK_STUB_HAS_DLL == 1 */
+
+// Set EVENTSINK_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (EVENTSINK_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define EVENTSINK_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define EVENTSINK_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !EVENTSINK_STUB_NTRACE */
+
+#if (EVENTSINK_STUB_NTRACE == 1)
+# define EVENTSINK_STUB_TRACE(X)
+#else /* (EVENTSINK_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define EVENTSINK_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (EVENTSINK_STUB_NTRACE == 1) */
+
+#endif /* EVENTSINK_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSink/EventSink_svnt_export.h b/modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSink/EventSink_svnt_export.h
new file mode 100644
index 00000000000..b30cb9768c2
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSink/EventSink_svnt_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl EVENTSINK_SVNT
+// ------------------------------
+#ifndef EVENTSINK_SVNT_EXPORT_H
+#define EVENTSINK_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (EVENTSINK_SVNT_HAS_DLL)
+# define EVENTSINK_SVNT_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && EVENTSINK_SVNT_HAS_DLL */
+
+#if !defined (EVENTSINK_SVNT_HAS_DLL)
+# define EVENTSINK_SVNT_HAS_DLL 1
+#endif /* ! EVENTSINK_SVNT_HAS_DLL */
+
+#if defined (EVENTSINK_SVNT_HAS_DLL) && (EVENTSINK_SVNT_HAS_DLL == 1)
+# if defined (EVENTSINK_SVNT_BUILD_DLL)
+# define EVENTSINK_SVNT_Export ACE_Proper_Export_Flag
+# define EVENTSINK_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define EVENTSINK_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* EVENTSINK_SVNT_BUILD_DLL */
+# define EVENTSINK_SVNT_Export ACE_Proper_Import_Flag
+# define EVENTSINK_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define EVENTSINK_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* EVENTSINK_SVNT_BUILD_DLL */
+#else /* EVENTSINK_SVNT_HAS_DLL == 1 */
+# define EVENTSINK_SVNT_Export
+# define EVENTSINK_SVNT_SINGLETON_DECLARATION(T)
+# define EVENTSINK_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* EVENTSINK_SVNT_HAS_DLL == 1 */
+
+// Set EVENTSINK_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (EVENTSINK_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define EVENTSINK_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define EVENTSINK_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !EVENTSINK_SVNT_NTRACE */
+
+#if (EVENTSINK_SVNT_NTRACE == 1)
+# define EVENTSINK_SVNT_TRACE(X)
+#else /* (EVENTSINK_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define EVENTSINK_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (EVENTSINK_SVNT_NTRACE == 1) */
+
+#endif /* EVENTSINK_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSource/EventSource.idl b/modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSource/EventSource.idl
new file mode 100644
index 00000000000..2ac7e663556
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSource/EventSource.idl
@@ -0,0 +1,24 @@
+// $Id$
+/**
+ * @file EventSource.idl
+ * @author Will Otte <wotte@dre.vanderblit.edu>
+ */
+
+#include <Components.idl>
+
+module PublishesEmits
+{
+ eventtype foo_event
+ {
+ };
+
+ component Foo
+ {
+ publishes foo_event foo;
+ };
+
+ component Bar
+ {
+ emits foo_event foo;
+ };
+};
diff --git a/modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSource/EventSource.mpc b/modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSource/EventSource.mpc
new file mode 100644
index 00000000000..5f81314a9cf
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSource/EventSource.mpc
@@ -0,0 +1,17 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -n EventSource"
+
+project(EventSource_stub): ccm_stub {
+
+ sharedname = EventSource_stub
+ idlflags += -Wb,stub_export_macro=EVENTSOURCE_STUB_Export -Wb,stub_export_include=EventSource_stub_export.h -Wb,skel_export_macro=EVENTSOURCE_SVNT_Export -Wb,skel_export_include=EventSource_svnt_export.h
+ dynamicflags = EVENTSOURCE_STUB_BUILD_DLL
+
+ IDL_Files {
+ EventSource.idl
+ }
+
+ Source_Files {
+ EventSourceC.cpp
+ }
+}
diff --git a/modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSource/EventSource_stub_export.h b/modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSource/EventSource_stub_export.h
new file mode 100644
index 00000000000..a0cf71bbe6d
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSource/EventSource_stub_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl EVENTSOURCE_STUB
+// ------------------------------
+#ifndef EVENTSOURCE_STUB_EXPORT_H
+#define EVENTSOURCE_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (EVENTSOURCE_STUB_HAS_DLL)
+# define EVENTSOURCE_STUB_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && EVENTSOURCE_STUB_HAS_DLL */
+
+#if !defined (EVENTSOURCE_STUB_HAS_DLL)
+# define EVENTSOURCE_STUB_HAS_DLL 1
+#endif /* ! EVENTSOURCE_STUB_HAS_DLL */
+
+#if defined (EVENTSOURCE_STUB_HAS_DLL) && (EVENTSOURCE_STUB_HAS_DLL == 1)
+# if defined (EVENTSOURCE_STUB_BUILD_DLL)
+# define EVENTSOURCE_STUB_Export ACE_Proper_Export_Flag
+# define EVENTSOURCE_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define EVENTSOURCE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* EVENTSOURCE_STUB_BUILD_DLL */
+# define EVENTSOURCE_STUB_Export ACE_Proper_Import_Flag
+# define EVENTSOURCE_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define EVENTSOURCE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* EVENTSOURCE_STUB_BUILD_DLL */
+#else /* EVENTSOURCE_STUB_HAS_DLL == 1 */
+# define EVENTSOURCE_STUB_Export
+# define EVENTSOURCE_STUB_SINGLETON_DECLARATION(T)
+# define EVENTSOURCE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* EVENTSOURCE_STUB_HAS_DLL == 1 */
+
+// Set EVENTSOURCE_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (EVENTSOURCE_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define EVENTSOURCE_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define EVENTSOURCE_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !EVENTSOURCE_STUB_NTRACE */
+
+#if (EVENTSOURCE_STUB_NTRACE == 1)
+# define EVENTSOURCE_STUB_TRACE(X)
+#else /* (EVENTSOURCE_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define EVENTSOURCE_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (EVENTSOURCE_STUB_NTRACE == 1) */
+
+#endif /* EVENTSOURCE_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSource/EventSource_svnt_export.h b/modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSource/EventSource_svnt_export.h
new file mode 100644
index 00000000000..dd5eeacd906
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Components/ComplexComponent/EventSource/EventSource_svnt_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl EVENTSOURCE_SVNT
+// ------------------------------
+#ifndef EVENTSOURCE_SVNT_EXPORT_H
+#define EVENTSOURCE_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (EVENTSOURCE_SVNT_HAS_DLL)
+# define EVENTSOURCE_SVNT_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && EVENTSOURCE_SVNT_HAS_DLL */
+
+#if !defined (EVENTSOURCE_SVNT_HAS_DLL)
+# define EVENTSOURCE_SVNT_HAS_DLL 1
+#endif /* ! EVENTSOURCE_SVNT_HAS_DLL */
+
+#if defined (EVENTSOURCE_SVNT_HAS_DLL) && (EVENTSOURCE_SVNT_HAS_DLL == 1)
+# if defined (EVENTSOURCE_SVNT_BUILD_DLL)
+# define EVENTSOURCE_SVNT_Export ACE_Proper_Export_Flag
+# define EVENTSOURCE_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define EVENTSOURCE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* EVENTSOURCE_SVNT_BUILD_DLL */
+# define EVENTSOURCE_SVNT_Export ACE_Proper_Import_Flag
+# define EVENTSOURCE_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define EVENTSOURCE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* EVENTSOURCE_SVNT_BUILD_DLL */
+#else /* EVENTSOURCE_SVNT_HAS_DLL == 1 */
+# define EVENTSOURCE_SVNT_Export
+# define EVENTSOURCE_SVNT_SINGLETON_DECLARATION(T)
+# define EVENTSOURCE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* EVENTSOURCE_SVNT_HAS_DLL == 1 */
+
+// Set EVENTSOURCE_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (EVENTSOURCE_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define EVENTSOURCE_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define EVENTSOURCE_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !EVENTSOURCE_SVNT_NTRACE */
+
+#if (EVENTSOURCE_SVNT_NTRACE == 1)
+# define EVENTSOURCE_SVNT_TRACE(X)
+#else /* (EVENTSOURCE_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define EVENTSOURCE_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (EVENTSOURCE_SVNT_NTRACE == 1) */
+
+#endif /* EVENTSOURCE_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/Components/ComplexComponent/Facets/Facets.idl b/modules/CIAO/tests/IDL3/Components/ComplexComponent/Facets/Facets.idl
new file mode 100644
index 00000000000..0d134e40d52
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Components/ComplexComponent/Facets/Facets.idl
@@ -0,0 +1,46 @@
+// $Id$
+/**
+ * @file Facets.idl
+ * @author Will Otte <wotte@dre.vanderbilt.edu>
+ *
+ * This IDL file tests Facets within components.
+ */
+
+#include <Components.idl>
+
+module Facets
+{
+ interface foo_interface
+ {
+ };
+
+ interface bar_interface
+ {
+ };
+
+ component Foo
+ {
+ provides foo_interface foo;
+ };
+
+ component Bar : Foo
+ {
+ provides bar_interface bar;
+ };
+
+ component FooFoo : Foo
+ {
+ provides foo_interface foofoo;
+ };
+
+ component FooBar
+ {
+ provides foo_interface foo;
+ provides bar_interface bar;
+ };
+
+ component ObjectProvider
+ {
+ provides Object foo_object;
+ };
+};
diff --git a/modules/CIAO/tests/IDL3/Components/ComplexComponent/Facets/Facets.mpc b/modules/CIAO/tests/IDL3/Components/ComplexComponent/Facets/Facets.mpc
new file mode 100644
index 00000000000..ab3da28df3d
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Components/ComplexComponent/Facets/Facets.mpc
@@ -0,0 +1,17 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -n Facets"
+
+project(Facets_stub): ccm_stub {
+
+ sharedname = Facets_stub
+ idlflags += -Wb,stub_export_macro=FACETS_STUB_Export -Wb,stub_export_include=Facets_stub_export.h -Wb,skel_export_macro=FACETS_SVNT_Export -Wb,skel_export_include=Facets_svnt_export.h
+ dynamicflags = FACETS_STUB_BUILD_DLL
+
+ IDL_Files {
+ Facets.idl
+ }
+
+ Source_Files {
+ FacetsC.cpp
+ }
+}
diff --git a/modules/CIAO/tests/IDL3/Components/ComplexComponent/Facets/Facets_stub_export.h b/modules/CIAO/tests/IDL3/Components/ComplexComponent/Facets/Facets_stub_export.h
new file mode 100644
index 00000000000..025fc8215f2
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Components/ComplexComponent/Facets/Facets_stub_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl FACETS_STUB
+// ------------------------------
+#ifndef FACETS_STUB_EXPORT_H
+#define FACETS_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (FACETS_STUB_HAS_DLL)
+# define FACETS_STUB_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && FACETS_STUB_HAS_DLL */
+
+#if !defined (FACETS_STUB_HAS_DLL)
+# define FACETS_STUB_HAS_DLL 1
+#endif /* ! FACETS_STUB_HAS_DLL */
+
+#if defined (FACETS_STUB_HAS_DLL) && (FACETS_STUB_HAS_DLL == 1)
+# if defined (FACETS_STUB_BUILD_DLL)
+# define FACETS_STUB_Export ACE_Proper_Export_Flag
+# define FACETS_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define FACETS_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* FACETS_STUB_BUILD_DLL */
+# define FACETS_STUB_Export ACE_Proper_Import_Flag
+# define FACETS_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define FACETS_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* FACETS_STUB_BUILD_DLL */
+#else /* FACETS_STUB_HAS_DLL == 1 */
+# define FACETS_STUB_Export
+# define FACETS_STUB_SINGLETON_DECLARATION(T)
+# define FACETS_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* FACETS_STUB_HAS_DLL == 1 */
+
+// Set FACETS_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (FACETS_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define FACETS_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define FACETS_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !FACETS_STUB_NTRACE */
+
+#if (FACETS_STUB_NTRACE == 1)
+# define FACETS_STUB_TRACE(X)
+#else /* (FACETS_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define FACETS_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (FACETS_STUB_NTRACE == 1) */
+
+#endif /* FACETS_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/Components/ComplexComponent/Facets/Facets_svnt_export.h b/modules/CIAO/tests/IDL3/Components/ComplexComponent/Facets/Facets_svnt_export.h
new file mode 100644
index 00000000000..e4750de9b91
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Components/ComplexComponent/Facets/Facets_svnt_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl FACETS_SVNT
+// ------------------------------
+#ifndef FACETS_SVNT_EXPORT_H
+#define FACETS_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (FACETS_SVNT_HAS_DLL)
+# define FACETS_SVNT_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && FACETS_SVNT_HAS_DLL */
+
+#if !defined (FACETS_SVNT_HAS_DLL)
+# define FACETS_SVNT_HAS_DLL 1
+#endif /* ! FACETS_SVNT_HAS_DLL */
+
+#if defined (FACETS_SVNT_HAS_DLL) && (FACETS_SVNT_HAS_DLL == 1)
+# if defined (FACETS_SVNT_BUILD_DLL)
+# define FACETS_SVNT_Export ACE_Proper_Export_Flag
+# define FACETS_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define FACETS_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* FACETS_SVNT_BUILD_DLL */
+# define FACETS_SVNT_Export ACE_Proper_Import_Flag
+# define FACETS_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define FACETS_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* FACETS_SVNT_BUILD_DLL */
+#else /* FACETS_SVNT_HAS_DLL == 1 */
+# define FACETS_SVNT_Export
+# define FACETS_SVNT_SINGLETON_DECLARATION(T)
+# define FACETS_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* FACETS_SVNT_HAS_DLL == 1 */
+
+// Set FACETS_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (FACETS_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define FACETS_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define FACETS_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !FACETS_SVNT_NTRACE */
+
+#if (FACETS_SVNT_NTRACE == 1)
+# define FACETS_SVNT_TRACE(X)
+#else /* (FACETS_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define FACETS_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (FACETS_SVNT_NTRACE == 1) */
+
+#endif /* FACETS_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/Components/ComplexComponent/Receptacles/Receptacles.idl b/modules/CIAO/tests/IDL3/Components/ComplexComponent/Receptacles/Receptacles.idl
new file mode 100644
index 00000000000..99162919b47
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Components/ComplexComponent/Receptacles/Receptacles.idl
@@ -0,0 +1,68 @@
+// $Id$
+/**
+ * @file Receptacles.idl
+ * @author Will Otte <wotte@dre.vanderbilt.edu>
+ *
+ * Tests Receptacles within components.
+ */
+
+#include <Components.idl>
+
+module ReceptaclesSingle
+{
+ interface foo_interface
+ {
+ };
+
+ interface bar_interface
+ {
+ };
+
+ component Foo
+ {
+ uses foo_interface foo;
+ };
+
+ component Bar : Foo
+ {
+ uses bar_interface bar;
+ };
+
+ component FooBar
+ {
+ uses foo_interface foo;
+ uses bar_interface bar;
+ };
+
+ component ObjectFoo
+ {
+ uses Object foo;
+ };
+
+};
+
+module ReceptaclesMultiple
+{
+ interface foo_interface
+ {
+ };
+
+ interface bar_interface
+ {
+ };
+
+ component Foo
+ {
+ uses multiple foo_interface foo;
+ };
+
+ component Bar
+ {
+ uses multiple bar_interface bar;
+ };
+
+ component ObjectFoo
+ {
+ uses multiple Object foo;
+ };
+};
diff --git a/modules/CIAO/tests/IDL3/Components/ComplexComponent/Receptacles/Receptacles.mpc b/modules/CIAO/tests/IDL3/Components/ComplexComponent/Receptacles/Receptacles.mpc
new file mode 100644
index 00000000000..e79c107eb67
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Components/ComplexComponent/Receptacles/Receptacles.mpc
@@ -0,0 +1,17 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -n Receptacles"
+
+project(Receptacles_stub): ccm_stub {
+
+ sharedname = Receptacles_stub
+ idlflags += -Wb,stub_export_macro=RECEPTACLES_STUB_Export -Wb,stub_export_include=Receptacles_stub_export.h -Wb,skel_export_macro=RECEPTACLES_SVNT_Export -Wb,skel_export_include=Receptacles_svnt_export.h
+ dynamicflags = RECEPTACLES_STUB_BUILD_DLL
+
+ IDL_Files {
+ Receptacles.idl
+ }
+
+ Source_Files {
+ ReceptaclesC.cpp
+ }
+}
diff --git a/modules/CIAO/tests/IDL3/Components/ComplexComponent/Receptacles/Receptacles_stub_export.h b/modules/CIAO/tests/IDL3/Components/ComplexComponent/Receptacles/Receptacles_stub_export.h
new file mode 100644
index 00000000000..15dedbc8a73
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Components/ComplexComponent/Receptacles/Receptacles_stub_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl RECEPTACLES_STUB
+// ------------------------------
+#ifndef RECEPTACLES_STUB_EXPORT_H
+#define RECEPTACLES_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (RECEPTACLES_STUB_HAS_DLL)
+# define RECEPTACLES_STUB_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && RECEPTACLES_STUB_HAS_DLL */
+
+#if !defined (RECEPTACLES_STUB_HAS_DLL)
+# define RECEPTACLES_STUB_HAS_DLL 1
+#endif /* ! RECEPTACLES_STUB_HAS_DLL */
+
+#if defined (RECEPTACLES_STUB_HAS_DLL) && (RECEPTACLES_STUB_HAS_DLL == 1)
+# if defined (RECEPTACLES_STUB_BUILD_DLL)
+# define RECEPTACLES_STUB_Export ACE_Proper_Export_Flag
+# define RECEPTACLES_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define RECEPTACLES_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* RECEPTACLES_STUB_BUILD_DLL */
+# define RECEPTACLES_STUB_Export ACE_Proper_Import_Flag
+# define RECEPTACLES_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define RECEPTACLES_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* RECEPTACLES_STUB_BUILD_DLL */
+#else /* RECEPTACLES_STUB_HAS_DLL == 1 */
+# define RECEPTACLES_STUB_Export
+# define RECEPTACLES_STUB_SINGLETON_DECLARATION(T)
+# define RECEPTACLES_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* RECEPTACLES_STUB_HAS_DLL == 1 */
+
+// Set RECEPTACLES_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (RECEPTACLES_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define RECEPTACLES_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define RECEPTACLES_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !RECEPTACLES_STUB_NTRACE */
+
+#if (RECEPTACLES_STUB_NTRACE == 1)
+# define RECEPTACLES_STUB_TRACE(X)
+#else /* (RECEPTACLES_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define RECEPTACLES_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (RECEPTACLES_STUB_NTRACE == 1) */
+
+#endif /* RECEPTACLES_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/Components/ComplexComponent/Receptacles/Receptacles_svnt_export.h b/modules/CIAO/tests/IDL3/Components/ComplexComponent/Receptacles/Receptacles_svnt_export.h
new file mode 100644
index 00000000000..4a4a4f52dcd
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Components/ComplexComponent/Receptacles/Receptacles_svnt_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl RECEPTACLES_SVNT
+// ------------------------------
+#ifndef RECEPTACLES_SVNT_EXPORT_H
+#define RECEPTACLES_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (RECEPTACLES_SVNT_HAS_DLL)
+# define RECEPTACLES_SVNT_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && RECEPTACLES_SVNT_HAS_DLL */
+
+#if !defined (RECEPTACLES_SVNT_HAS_DLL)
+# define RECEPTACLES_SVNT_HAS_DLL 1
+#endif /* ! RECEPTACLES_SVNT_HAS_DLL */
+
+#if defined (RECEPTACLES_SVNT_HAS_DLL) && (RECEPTACLES_SVNT_HAS_DLL == 1)
+# if defined (RECEPTACLES_SVNT_BUILD_DLL)
+# define RECEPTACLES_SVNT_Export ACE_Proper_Export_Flag
+# define RECEPTACLES_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define RECEPTACLES_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* RECEPTACLES_SVNT_BUILD_DLL */
+# define RECEPTACLES_SVNT_Export ACE_Proper_Import_Flag
+# define RECEPTACLES_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define RECEPTACLES_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* RECEPTACLES_SVNT_BUILD_DLL */
+#else /* RECEPTACLES_SVNT_HAS_DLL == 1 */
+# define RECEPTACLES_SVNT_Export
+# define RECEPTACLES_SVNT_SINGLETON_DECLARATION(T)
+# define RECEPTACLES_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* RECEPTACLES_SVNT_HAS_DLL == 1 */
+
+// Set RECEPTACLES_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (RECEPTACLES_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define RECEPTACLES_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define RECEPTACLES_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !RECEPTACLES_SVNT_NTRACE */
+
+#if (RECEPTACLES_SVNT_NTRACE == 1)
+# define RECEPTACLES_SVNT_TRACE(X)
+#else /* (RECEPTACLES_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define RECEPTACLES_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (RECEPTACLES_SVNT_NTRACE == 1) */
+
+#endif /* RECEPTACLES_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/Components/SimpleComponent/SimpleComponent.idl b/modules/CIAO/tests/IDL3/Components/SimpleComponent/SimpleComponent.idl
new file mode 100644
index 00000000000..8b020a77e54
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Components/SimpleComponent/SimpleComponent.idl
@@ -0,0 +1,96 @@
+// $Id$
+/**
+ * @file SimpleComponent.idl
+ *
+ * Tests simple component declarations.
+ */
+
+#include <Components.idl>
+
+module VerySimple
+{
+
+ component Foo
+ {
+ };
+
+ home FooHome manages Foo
+ {
+ };
+
+};
+
+module SupportsInterface
+{
+ interface foo_interface
+ {
+ };
+
+ component Foo supports foo_interface
+ {
+ };
+
+ home FooHome manages Foo
+ {
+ };
+
+};
+
+
+module SupportsMultiple
+{
+ interface foo_interface
+ {
+ };
+
+ interface bar_interface
+ {
+ };
+
+ component FooBar supports foo_interface, bar_interface
+ {
+ };
+
+ home FooBarHome manages FooBar
+ {
+ };
+};
+
+module Inheritance
+{
+ interface foo_interface
+ {
+ };
+
+ interface Bar_interface
+ {
+ };
+
+ component Foo supports foo_interface
+ {
+ };
+
+ component Bar : Foo
+ {
+ };
+
+ home FooHome manages Foo
+ {
+ };
+
+ home BarHome manages Bar
+ {
+ };
+
+
+};
+
+module Bug_2790_Regression
+{
+ // It is legal for a derived component to support an interface
+ interface Wibble {};
+ interface Wobble {};
+ component Bobble {};
+ component Bibble : Bobble supports Wibble, Wobble {};
+};
+
diff --git a/modules/CIAO/tests/IDL3/Components/SimpleComponent/SimpleComponent.mpc b/modules/CIAO/tests/IDL3/Components/SimpleComponent/SimpleComponent.mpc
new file mode 100644
index 00000000000..1605b93deaa
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Components/SimpleComponent/SimpleComponent.mpc
@@ -0,0 +1,17 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl SimpleComponent"
+
+project(SimpleComponent_stub_idl3): ccm_stub {
+
+ sharedname = SimpleComponent_stub
+ idlflags += -Wb,stub_export_macro=SIMPLECOMPONENT_STUB_Export -Wb,stub_export_include=SimpleComponent_stub_export.h -Wb,skel_export_macro=SIMPLECOMPONENT_SVNT_Export -Wb,skel_export_include=SimpleComponent_svnt_export.h
+ dynamicflags = SIMPLECOMPONENT_STUB_BUILD_DLL
+
+ IDL_Files {
+ SimpleComponent.idl
+ }
+
+ Source_Files {
+ SimpleComponentC.cpp
+ }
+}
diff --git a/modules/CIAO/tests/IDL3/Components/SimpleComponent/SimpleComponent_exec_export.h b/modules/CIAO/tests/IDL3/Components/SimpleComponent/SimpleComponent_exec_export.h
new file mode 100644
index 00000000000..add746da8f5
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Components/SimpleComponent/SimpleComponent_exec_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl SIMPLECOMPONENT_EXEC
+// ------------------------------
+#ifndef SIMPLECOMPONENT_EXEC_EXPORT_H
+#define SIMPLECOMPONENT_EXEC_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (SIMPLECOMPONENT_EXEC_HAS_DLL)
+# define SIMPLECOMPONENT_EXEC_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && SIMPLECOMPONENT_EXEC_HAS_DLL */
+
+#if !defined (SIMPLECOMPONENT_EXEC_HAS_DLL)
+# define SIMPLECOMPONENT_EXEC_HAS_DLL 1
+#endif /* ! SIMPLECOMPONENT_EXEC_HAS_DLL */
+
+#if defined (SIMPLECOMPONENT_EXEC_HAS_DLL) && (SIMPLECOMPONENT_EXEC_HAS_DLL == 1)
+# if defined (SIMPLECOMPONENT_EXEC_BUILD_DLL)
+# define SIMPLECOMPONENT_EXEC_Export ACE_Proper_Export_Flag
+# define SIMPLECOMPONENT_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define SIMPLECOMPONENT_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* SIMPLECOMPONENT_EXEC_BUILD_DLL */
+# define SIMPLECOMPONENT_EXEC_Export ACE_Proper_Import_Flag
+# define SIMPLECOMPONENT_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define SIMPLECOMPONENT_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* SIMPLECOMPONENT_EXEC_BUILD_DLL */
+#else /* SIMPLECOMPONENT_EXEC_HAS_DLL == 1 */
+# define SIMPLECOMPONENT_EXEC_Export
+# define SIMPLECOMPONENT_EXEC_SINGLETON_DECLARATION(T)
+# define SIMPLECOMPONENT_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* SIMPLECOMPONENT_EXEC_HAS_DLL == 1 */
+
+// Set SIMPLECOMPONENT_EXEC_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (SIMPLECOMPONENT_EXEC_NTRACE)
+# if (ACE_NTRACE == 1)
+# define SIMPLECOMPONENT_EXEC_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define SIMPLECOMPONENT_EXEC_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !SIMPLECOMPONENT_EXEC_NTRACE */
+
+#if (SIMPLECOMPONENT_EXEC_NTRACE == 1)
+# define SIMPLECOMPONENT_EXEC_TRACE(X)
+#else /* (SIMPLECOMPONENT_EXEC_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define SIMPLECOMPONENT_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (SIMPLECOMPONENT_EXEC_NTRACE == 1) */
+
+#endif /* SIMPLECOMPONENT_EXEC_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/Components/SimpleComponent/SimpleComponent_stub_export.h b/modules/CIAO/tests/IDL3/Components/SimpleComponent/SimpleComponent_stub_export.h
new file mode 100644
index 00000000000..eb8cb7a6c97
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Components/SimpleComponent/SimpleComponent_stub_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl SIMPLECOMPONENT_STUB
+// ------------------------------
+#ifndef SIMPLECOMPONENT_STUB_EXPORT_H
+#define SIMPLECOMPONENT_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (SIMPLECOMPONENT_STUB_HAS_DLL)
+# define SIMPLECOMPONENT_STUB_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && SIMPLECOMPONENT_STUB_HAS_DLL */
+
+#if !defined (SIMPLECOMPONENT_STUB_HAS_DLL)
+# define SIMPLECOMPONENT_STUB_HAS_DLL 1
+#endif /* ! SIMPLECOMPONENT_STUB_HAS_DLL */
+
+#if defined (SIMPLECOMPONENT_STUB_HAS_DLL) && (SIMPLECOMPONENT_STUB_HAS_DLL == 1)
+# if defined (SIMPLECOMPONENT_STUB_BUILD_DLL)
+# define SIMPLECOMPONENT_STUB_Export ACE_Proper_Export_Flag
+# define SIMPLECOMPONENT_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define SIMPLECOMPONENT_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* SIMPLECOMPONENT_STUB_BUILD_DLL */
+# define SIMPLECOMPONENT_STUB_Export ACE_Proper_Import_Flag
+# define SIMPLECOMPONENT_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define SIMPLECOMPONENT_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* SIMPLECOMPONENT_STUB_BUILD_DLL */
+#else /* SIMPLECOMPONENT_STUB_HAS_DLL == 1 */
+# define SIMPLECOMPONENT_STUB_Export
+# define SIMPLECOMPONENT_STUB_SINGLETON_DECLARATION(T)
+# define SIMPLECOMPONENT_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* SIMPLECOMPONENT_STUB_HAS_DLL == 1 */
+
+// Set SIMPLECOMPONENT_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (SIMPLECOMPONENT_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define SIMPLECOMPONENT_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define SIMPLECOMPONENT_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !SIMPLECOMPONENT_STUB_NTRACE */
+
+#if (SIMPLECOMPONENT_STUB_NTRACE == 1)
+# define SIMPLECOMPONENT_STUB_TRACE(X)
+#else /* (SIMPLECOMPONENT_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define SIMPLECOMPONENT_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (SIMPLECOMPONENT_STUB_NTRACE == 1) */
+
+#endif /* SIMPLECOMPONENT_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/Components/SimpleComponent/SimpleComponent_svnt_export.h b/modules/CIAO/tests/IDL3/Components/SimpleComponent/SimpleComponent_svnt_export.h
new file mode 100644
index 00000000000..694af85e994
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Components/SimpleComponent/SimpleComponent_svnt_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl SIMPLECOMPONENT_SVNT
+// ------------------------------
+#ifndef SIMPLECOMPONENT_SVNT_EXPORT_H
+#define SIMPLECOMPONENT_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (SIMPLECOMPONENT_SVNT_HAS_DLL)
+# define SIMPLECOMPONENT_SVNT_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && SIMPLECOMPONENT_SVNT_HAS_DLL */
+
+#if !defined (SIMPLECOMPONENT_SVNT_HAS_DLL)
+# define SIMPLECOMPONENT_SVNT_HAS_DLL 1
+#endif /* ! SIMPLECOMPONENT_SVNT_HAS_DLL */
+
+#if defined (SIMPLECOMPONENT_SVNT_HAS_DLL) && (SIMPLECOMPONENT_SVNT_HAS_DLL == 1)
+# if defined (SIMPLECOMPONENT_SVNT_BUILD_DLL)
+# define SIMPLECOMPONENT_SVNT_Export ACE_Proper_Export_Flag
+# define SIMPLECOMPONENT_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define SIMPLECOMPONENT_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* SIMPLECOMPONENT_SVNT_BUILD_DLL */
+# define SIMPLECOMPONENT_SVNT_Export ACE_Proper_Import_Flag
+# define SIMPLECOMPONENT_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define SIMPLECOMPONENT_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* SIMPLECOMPONENT_SVNT_BUILD_DLL */
+#else /* SIMPLECOMPONENT_SVNT_HAS_DLL == 1 */
+# define SIMPLECOMPONENT_SVNT_Export
+# define SIMPLECOMPONENT_SVNT_SINGLETON_DECLARATION(T)
+# define SIMPLECOMPONENT_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* SIMPLECOMPONENT_SVNT_HAS_DLL == 1 */
+
+// Set SIMPLECOMPONENT_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (SIMPLECOMPONENT_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define SIMPLECOMPONENT_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define SIMPLECOMPONENT_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !SIMPLECOMPONENT_SVNT_NTRACE */
+
+#if (SIMPLECOMPONENT_SVNT_NTRACE == 1)
+# define SIMPLECOMPONENT_SVNT_TRACE(X)
+#else /* (SIMPLECOMPONENT_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define SIMPLECOMPONENT_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (SIMPLECOMPONENT_SVNT_NTRACE == 1) */
+
+#endif /* SIMPLECOMPONENT_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/Events/Abstract/Abstract.idl b/modules/CIAO/tests/IDL3/Events/Abstract/Abstract.idl
new file mode 100644
index 00000000000..15eb50971b3
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Events/Abstract/Abstract.idl
@@ -0,0 +1,38 @@
+// $Id$
+/**
+ * @file Abstract.idl
+ * @author Will Otte <wotte@dre.vanderbilt.edu>
+ *
+ * Tests the compilation of abstract events.
+ */
+
+#include <Components.idl>
+
+module AbstractEvents
+{
+ abstract eventtype foo_event
+ {
+ };
+
+ abstract eventtype InhFoo_event : foo_event
+ {
+ };
+
+ abstract eventtype bar_event
+ {
+ };
+
+ abstract eventtype foobar_event : foo_event, bar_event
+ {
+ };
+
+ // test event multiple inheretance
+
+ eventtype concrete_foo
+ {
+ };
+
+ eventtype concrete_foobar : concrete_foo, foo_event
+ {
+ };
+};
diff --git a/modules/CIAO/tests/IDL3/Events/Abstract/Abstract.mpc b/modules/CIAO/tests/IDL3/Events/Abstract/Abstract.mpc
new file mode 100644
index 00000000000..83d67de5f39
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Events/Abstract/Abstract.mpc
@@ -0,0 +1,17 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -n Abstract"
+
+project(Abstract_stub): ccm_stub {
+
+ sharedname = Abstract_stub
+ idlflags += -Wb,stub_export_macro=ABSTRACT_STUB_Export -Wb,stub_export_include=Abstract_stub_export.h -Wb,skel_export_macro=ABSTRACT_SVNT_Export -Wb,skel_export_include=Abstract_svnt_export.h
+ dynamicflags = ABSTRACT_STUB_BUILD_DLL
+
+ IDL_Files {
+ Abstract.idl
+ }
+
+ Source_Files {
+ AbstractC.cpp
+ }
+}
diff --git a/modules/CIAO/tests/IDL3/Events/Abstract/Abstract_stub_export.h b/modules/CIAO/tests/IDL3/Events/Abstract/Abstract_stub_export.h
new file mode 100644
index 00000000000..2ec86f36950
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Events/Abstract/Abstract_stub_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl ABSTRACT_STUB
+// ------------------------------
+#ifndef ABSTRACT_STUB_EXPORT_H
+#define ABSTRACT_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (ABSTRACT_STUB_HAS_DLL)
+# define ABSTRACT_STUB_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && ABSTRACT_STUB_HAS_DLL */
+
+#if !defined (ABSTRACT_STUB_HAS_DLL)
+# define ABSTRACT_STUB_HAS_DLL 1
+#endif /* ! ABSTRACT_STUB_HAS_DLL */
+
+#if defined (ABSTRACT_STUB_HAS_DLL) && (ABSTRACT_STUB_HAS_DLL == 1)
+# if defined (ABSTRACT_STUB_BUILD_DLL)
+# define ABSTRACT_STUB_Export ACE_Proper_Export_Flag
+# define ABSTRACT_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define ABSTRACT_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* ABSTRACT_STUB_BUILD_DLL */
+# define ABSTRACT_STUB_Export ACE_Proper_Import_Flag
+# define ABSTRACT_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define ABSTRACT_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* ABSTRACT_STUB_BUILD_DLL */
+#else /* ABSTRACT_STUB_HAS_DLL == 1 */
+# define ABSTRACT_STUB_Export
+# define ABSTRACT_STUB_SINGLETON_DECLARATION(T)
+# define ABSTRACT_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* ABSTRACT_STUB_HAS_DLL == 1 */
+
+// Set ABSTRACT_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (ABSTRACT_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define ABSTRACT_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define ABSTRACT_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !ABSTRACT_STUB_NTRACE */
+
+#if (ABSTRACT_STUB_NTRACE == 1)
+# define ABSTRACT_STUB_TRACE(X)
+#else /* (ABSTRACT_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define ABSTRACT_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (ABSTRACT_STUB_NTRACE == 1) */
+
+#endif /* ABSTRACT_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/Events/Abstract/Abstract_svnt_export.h b/modules/CIAO/tests/IDL3/Events/Abstract/Abstract_svnt_export.h
new file mode 100644
index 00000000000..890926fec22
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Events/Abstract/Abstract_svnt_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl ABSTRACT_SVNT
+// ------------------------------
+#ifndef ABSTRACT_SVNT_EXPORT_H
+#define ABSTRACT_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (ABSTRACT_SVNT_HAS_DLL)
+# define ABSTRACT_SVNT_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && ABSTRACT_SVNT_HAS_DLL */
+
+#if !defined (ABSTRACT_SVNT_HAS_DLL)
+# define ABSTRACT_SVNT_HAS_DLL 1
+#endif /* ! ABSTRACT_SVNT_HAS_DLL */
+
+#if defined (ABSTRACT_SVNT_HAS_DLL) && (ABSTRACT_SVNT_HAS_DLL == 1)
+# if defined (ABSTRACT_SVNT_BUILD_DLL)
+# define ABSTRACT_SVNT_Export ACE_Proper_Export_Flag
+# define ABSTRACT_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define ABSTRACT_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* ABSTRACT_SVNT_BUILD_DLL */
+# define ABSTRACT_SVNT_Export ACE_Proper_Import_Flag
+# define ABSTRACT_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define ABSTRACT_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* ABSTRACT_SVNT_BUILD_DLL */
+#else /* ABSTRACT_SVNT_HAS_DLL == 1 */
+# define ABSTRACT_SVNT_Export
+# define ABSTRACT_SVNT_SINGLETON_DECLARATION(T)
+# define ABSTRACT_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* ABSTRACT_SVNT_HAS_DLL == 1 */
+
+// Set ABSTRACT_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (ABSTRACT_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define ABSTRACT_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define ABSTRACT_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !ABSTRACT_SVNT_NTRACE */
+
+#if (ABSTRACT_SVNT_NTRACE == 1)
+# define ABSTRACT_SVNT_TRACE(X)
+#else /* (ABSTRACT_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define ABSTRACT_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (ABSTRACT_SVNT_NTRACE == 1) */
+
+#endif /* ABSTRACT_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/Events/Any/Any.mpc b/modules/CIAO/tests/IDL3/Events/Any/Any.mpc
new file mode 100644
index 00000000000..1d95ba0b319
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Events/Any/Any.mpc
@@ -0,0 +1,26 @@
+// $Id$
+
+project(EventAny_local): ccm_stub {
+ exename = EventAny
+ idlflags += -SS
+
+ IDL_Files {
+ EventAny.idl
+ }
+
+ Source_Files {
+ EventAnyC.cpp
+ main.cpp
+ }
+
+ Header_Files {
+ EventAnyC.h
+ }
+
+ Inline_Files {
+ EventAnyC.inl
+ }
+
+ Template_Files {
+ }
+}
diff --git a/modules/CIAO/tests/IDL3/Events/Any/EventAny.idl b/modules/CIAO/tests/IDL3/Events/Any/EventAny.idl
new file mode 100644
index 00000000000..d53ddf55c08
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Events/Any/EventAny.idl
@@ -0,0 +1,16 @@
+// $Id$
+/**
+ * @file EventAny.idl
+ * @author Jeff Parsons <j.parsons@vanderbilt.edu>
+ *
+ * Tests Any insertion/extraction of event types,
+ * and (de)marshaling of such Anys.
+ */
+
+#include <Components.idl>
+
+eventtype StringMsg
+{
+ public string str_msg;
+};
+
diff --git a/modules/CIAO/tests/IDL3/Events/Any/README b/modules/CIAO/tests/IDL3/Events/Any/README
new file mode 100644
index 00000000000..7bf91be5776
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Events/Any/README
@@ -0,0 +1,35 @@
+
+Event Any Test
+=======================
+
+This test defines, instantiates, and initializes an IDL
+eventtype with a public string member, inserts it into
+an Any, marshals the Any, demarshals the Any, extracts
+the eventtype, and compares the resulting member string
+with the original. The purpose of the test is to ensure
+that (1) the demarshaling of the Any and (2) the
+extraction of the eventtype, are successful, since both
+these actions are done interpretively by traversing the
+eventtype's type code. The motivation for the test was
+the failure of these actions due to missing cases in
+the interpretive demarshaling code corresponding to
+the kind of the eventtype's type code (CORBA::tk_event).
+
+There are several places the test can fail:
+
+- marshaling of the Any
+- demarshaling of the Any
+- extraction from the Any
+- string compare of the sent and received eventtype members
+
+Note that the test code registers a valuetype factory
+with the orb, a necessary step in extracting the
+eventtype from the Any. In a real-world use case (such
+as an event channel) such a factory would have to
+be registered with the orb anywhere the eventtype is
+to be demarshaled from a CDR stream or extracted from
+an Any that was itself demarshaled.
+
+Jeff Parsons
+
+
diff --git a/modules/CIAO/tests/IDL3/Events/Any/main.cpp b/modules/CIAO/tests/IDL3/Events/Any/main.cpp
new file mode 100644
index 00000000000..4ce90923aa1
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Events/Any/main.cpp
@@ -0,0 +1,85 @@
+// $Id$
+
+#include "EventAnyC.h"
+#include "tao/AnyTypeCode/Any.h"
+#include "ace/Get_Opt.h"
+
+void
+insert_into_any (CORBA::Any& any, Components::EventBase* vb)
+{
+ any <<= vb;
+}
+
+void
+debug_msg (const char *msg)
+{
+ ACE_ERROR ((LM_ERROR, "Error: %s\n", msg));
+}
+
+int
+ACE_TMAIN(int argc, ACE_TCHAR *argv[])
+{
+ try
+ {
+ CORBA::ORB_var orb = CORBA::ORB_init (argc, argv);
+ StringMsg_init *StringMsg_factory = new StringMsg_init;
+
+ orb->register_value_factory (StringMsg_factory->tao_repository_id (),
+ StringMsg_factory);
+ StringMsg_factory->_remove_ref (); // release ownership
+
+ const char *test_str = "a message";
+
+ StringMsg_var ev = new OBV_StringMsg;
+ ev->str_msg (test_str);
+
+ CORBA::Any in_any;
+ insert_into_any (in_any, ev.in ());
+
+ TAO_OutputCDR out;
+ CORBA::Boolean good = out << in_any;
+
+ if (!good)
+ {
+ debug_msg ("Any marshaling failed");
+ return -1;
+ }
+
+ TAO_InputCDR in (out);
+ CORBA::Any out_any;
+ good = in >> out_any;
+
+ if (!good)
+ {
+ debug_msg ("Any demarshaling failed");
+ return -1;
+ }
+
+ StringMsg *ev_out = 0;
+ good = out_any >>= ev_out;
+
+ if (!good)
+ {
+ debug_msg ("Any extraction failed");
+ return -1;
+ }
+
+ const char *result_str = ev_out->str_msg ();
+
+ if (result_str == 0 || ACE_OS::strcmp (result_str, test_str) != 0)
+ {
+ debug_msg ("Extracted member string null or incorrect");
+ return -1;
+ }
+
+ orb->destroy ();
+ }
+ catch (const CORBA::Exception& ex)
+ {
+ ex._tao_print_exception ("caught exception:");
+ return 1;
+ }
+
+ return 0;
+}
+
diff --git a/modules/CIAO/tests/IDL3/Events/Any/run_test.pl b/modules/CIAO/tests/IDL3/Events/Any/run_test.pl
new file mode 100755
index 00000000000..f13f9726b5b
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Events/Any/run_test.pl
@@ -0,0 +1,31 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+# The first three lines above let this script run without specifying the
+# full path to perl, as long as it is in the user's PATH.
+# Taken from perlrun man page.
+
+# Do not use environment variables here since not all platforms use ACE_ROOT
+use lib "$ENV{ACE_ROOT}/bin";
+use PerlACE::Run_Test;
+use English;
+
+$status = 0;
+$exflags = "";
+
+# Run the test
+
+$EX = new PerlACE::Process ("EventAny");
+$EX->Arguments ($exflags);
+$test = $EX->SpawnWaitKill (10);
+
+if ($test != 0) {
+ print STDERR "ERROR: test error status $test\n";
+ $status = 1;
+}
+
+exit $status;
diff --git a/modules/CIAO/tests/IDL3/Events/Regular/Regular.idl b/modules/CIAO/tests/IDL3/Events/Regular/Regular.idl
new file mode 100644
index 00000000000..f9169026e88
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Events/Regular/Regular.idl
@@ -0,0 +1,44 @@
+// $Id$
+/**
+ * @file Regular.idl
+ * @author Will Otte <wotte@dre.vanderbilt.edu>
+ *
+ * Tests the compilation of regular event types.
+ */
+
+#include <Components.idl>
+
+module RegularEvents
+{
+ eventtype foo
+ {
+ };
+
+ eventtype bar
+ {
+ };
+
+ eventtype InhFoo : foo
+ {
+ };
+
+ /* @@
+ * TAO_IDL cannot handle custom yet.
+ custom eventtype custom_foo
+ {
+ };
+
+ custom eventtype custom_InhFoo : foo
+ {
+ };
+ */
+
+ eventtype Baz
+ {
+ long test_op ();
+ void test_op_a (in long foo, out float bar);
+ InhFoo test_op_b ();
+ };
+
+
+};
diff --git a/modules/CIAO/tests/IDL3/Events/Regular/Regular.mpc b/modules/CIAO/tests/IDL3/Events/Regular/Regular.mpc
new file mode 100644
index 00000000000..6186490384c
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Events/Regular/Regular.mpc
@@ -0,0 +1,20 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -n Regular"
+
+project(Regular_stub): ccm_stub {
+
+ sharedname = Regular_stub
+ idlflags += -Wb,stub_export_macro=REGULAR_STUB_Export \
+ -Wb,stub_export_include=Regular_stub_export.h \
+ -Wb,skel_export_macro=REGULAR_SVNT_Export \
+ -Wb,skel_export_include=Regular_svnt_export.h
+ dynamicflags = REGULAR_STUB_BUILD_DLL
+
+ IDL_Files {
+ Regular.idl
+ }
+
+ Source_Files {
+ RegularC.cpp
+ }
+}
diff --git a/modules/CIAO/tests/IDL3/Events/Regular/Regular_stub_export.h b/modules/CIAO/tests/IDL3/Events/Regular/Regular_stub_export.h
new file mode 100644
index 00000000000..7185b7d78b2
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Events/Regular/Regular_stub_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl REGULAR_STUB
+// ------------------------------
+#ifndef REGULAR_STUB_EXPORT_H
+#define REGULAR_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (REGULAR_STUB_HAS_DLL)
+# define REGULAR_STUB_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && REGULAR_STUB_HAS_DLL */
+
+#if !defined (REGULAR_STUB_HAS_DLL)
+# define REGULAR_STUB_HAS_DLL 1
+#endif /* ! REGULAR_STUB_HAS_DLL */
+
+#if defined (REGULAR_STUB_HAS_DLL) && (REGULAR_STUB_HAS_DLL == 1)
+# if defined (REGULAR_STUB_BUILD_DLL)
+# define REGULAR_STUB_Export ACE_Proper_Export_Flag
+# define REGULAR_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define REGULAR_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* REGULAR_STUB_BUILD_DLL */
+# define REGULAR_STUB_Export ACE_Proper_Import_Flag
+# define REGULAR_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define REGULAR_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* REGULAR_STUB_BUILD_DLL */
+#else /* REGULAR_STUB_HAS_DLL == 1 */
+# define REGULAR_STUB_Export
+# define REGULAR_STUB_SINGLETON_DECLARATION(T)
+# define REGULAR_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* REGULAR_STUB_HAS_DLL == 1 */
+
+// Set REGULAR_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (REGULAR_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define REGULAR_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define REGULAR_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !REGULAR_STUB_NTRACE */
+
+#if (REGULAR_STUB_NTRACE == 1)
+# define REGULAR_STUB_TRACE(X)
+#else /* (REGULAR_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define REGULAR_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (REGULAR_STUB_NTRACE == 1) */
+
+#endif /* REGULAR_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/Events/Regular/Regular_svnt_export.h b/modules/CIAO/tests/IDL3/Events/Regular/Regular_svnt_export.h
new file mode 100644
index 00000000000..05a2687b566
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Events/Regular/Regular_svnt_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl REGULAR_SVNT
+// ------------------------------
+#ifndef REGULAR_SVNT_EXPORT_H
+#define REGULAR_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (REGULAR_SVNT_HAS_DLL)
+# define REGULAR_SVNT_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && REGULAR_SVNT_HAS_DLL */
+
+#if !defined (REGULAR_SVNT_HAS_DLL)
+# define REGULAR_SVNT_HAS_DLL 1
+#endif /* ! REGULAR_SVNT_HAS_DLL */
+
+#if defined (REGULAR_SVNT_HAS_DLL) && (REGULAR_SVNT_HAS_DLL == 1)
+# if defined (REGULAR_SVNT_BUILD_DLL)
+# define REGULAR_SVNT_Export ACE_Proper_Export_Flag
+# define REGULAR_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define REGULAR_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* REGULAR_SVNT_BUILD_DLL */
+# define REGULAR_SVNT_Export ACE_Proper_Import_Flag
+# define REGULAR_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define REGULAR_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* REGULAR_SVNT_BUILD_DLL */
+#else /* REGULAR_SVNT_HAS_DLL == 1 */
+# define REGULAR_SVNT_Export
+# define REGULAR_SVNT_SINGLETON_DECLARATION(T)
+# define REGULAR_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* REGULAR_SVNT_HAS_DLL == 1 */
+
+// Set REGULAR_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (REGULAR_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define REGULAR_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define REGULAR_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !REGULAR_SVNT_NTRACE */
+
+#if (REGULAR_SVNT_NTRACE == 1)
+# define REGULAR_SVNT_TRACE(X)
+#else /* (REGULAR_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define REGULAR_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (REGULAR_SVNT_NTRACE == 1) */
+
+#endif /* REGULAR_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/Homes/Attributes/HomeAttributes.idl b/modules/CIAO/tests/IDL3/Homes/Attributes/HomeAttributes.idl
new file mode 100644
index 00000000000..7dd338d871e
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Homes/Attributes/HomeAttributes.idl
@@ -0,0 +1,54 @@
+// $Id$
+/**
+ * @file HomeAttributes.idl
+ * @author Will Otte <wotte@dre.vanderbilt.edu>
+ *
+ * Tests attributes in homes
+ */
+
+#include <Components.idl>
+
+module HomeAttributes
+{
+ interface foo_interface
+ {
+ };
+
+ component Foo supports foo_interface
+ {
+ };
+
+ home FooHome manages Foo
+ {
+ attribute float test;
+ attribute long testA, testB;
+ };
+
+ exception FooException
+ {
+ };
+
+ exception BarException
+ {
+ };
+
+ home ROFooHome manages Foo
+ {
+ readonly attribute float test1;
+ readonly attribute long testB, testC;
+ };
+
+ home FooRaisesHome manages Foo
+ {
+ attribute float test2 getraises (FooException);
+ attribute float test3 setraises (BarException);
+ attribute float test4
+ getraises (FooException) setraises (BarException);
+ };
+
+ home ROFooRaisesHome manages Foo
+ {
+ readonly attribute float test5 raises (FooException);
+ };
+
+};
diff --git a/modules/CIAO/tests/IDL3/Homes/Attributes/HomeAttributes.mpc b/modules/CIAO/tests/IDL3/Homes/Attributes/HomeAttributes.mpc
new file mode 100644
index 00000000000..063c212b83a
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Homes/Attributes/HomeAttributes.mpc
@@ -0,0 +1,17 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -n HomeAttributes"
+
+project(HomeAttributes_stub): ccm_stub {
+
+ sharedname = HomeAttributes_stub
+ idlflags += -Wb,stub_export_macro=HOMEATTRIBUTES_STUB_Export -Wb,stub_export_include=HomeAttributes_stub_export.h -Wb,skel_export_macro=HOMEATTRIBUTES_SVNT_Export -Wb,skel_export_include=HomeAttributes_svnt_export.h
+ dynamicflags = HOMEATTRIBUTES_STUB_BUILD_DLL
+
+ IDL_Files {
+ HomeAttributes.idl
+ }
+
+ Source_Files {
+ HomeAttributesC.cpp
+ }
+}
diff --git a/modules/CIAO/tests/IDL3/Homes/Attributes/HomeAttributes_stub_export.h b/modules/CIAO/tests/IDL3/Homes/Attributes/HomeAttributes_stub_export.h
new file mode 100644
index 00000000000..f347446a533
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Homes/Attributes/HomeAttributes_stub_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl HOMEATTRIBUTES_STUB
+// ------------------------------
+#ifndef HOMEATTRIBUTES_STUB_EXPORT_H
+#define HOMEATTRIBUTES_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (HOMEATTRIBUTES_STUB_HAS_DLL)
+# define HOMEATTRIBUTES_STUB_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && HOMEATTRIBUTES_STUB_HAS_DLL */
+
+#if !defined (HOMEATTRIBUTES_STUB_HAS_DLL)
+# define HOMEATTRIBUTES_STUB_HAS_DLL 1
+#endif /* ! HOMEATTRIBUTES_STUB_HAS_DLL */
+
+#if defined (HOMEATTRIBUTES_STUB_HAS_DLL) && (HOMEATTRIBUTES_STUB_HAS_DLL == 1)
+# if defined (HOMEATTRIBUTES_STUB_BUILD_DLL)
+# define HOMEATTRIBUTES_STUB_Export ACE_Proper_Export_Flag
+# define HOMEATTRIBUTES_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define HOMEATTRIBUTES_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* HOMEATTRIBUTES_STUB_BUILD_DLL */
+# define HOMEATTRIBUTES_STUB_Export ACE_Proper_Import_Flag
+# define HOMEATTRIBUTES_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define HOMEATTRIBUTES_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* HOMEATTRIBUTES_STUB_BUILD_DLL */
+#else /* HOMEATTRIBUTES_STUB_HAS_DLL == 1 */
+# define HOMEATTRIBUTES_STUB_Export
+# define HOMEATTRIBUTES_STUB_SINGLETON_DECLARATION(T)
+# define HOMEATTRIBUTES_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* HOMEATTRIBUTES_STUB_HAS_DLL == 1 */
+
+// Set HOMEATTRIBUTES_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (HOMEATTRIBUTES_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define HOMEATTRIBUTES_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define HOMEATTRIBUTES_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !HOMEATTRIBUTES_STUB_NTRACE */
+
+#if (HOMEATTRIBUTES_STUB_NTRACE == 1)
+# define HOMEATTRIBUTES_STUB_TRACE(X)
+#else /* (HOMEATTRIBUTES_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define HOMEATTRIBUTES_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (HOMEATTRIBUTES_STUB_NTRACE == 1) */
+
+#endif /* HOMEATTRIBUTES_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/Homes/Attributes/HomeAttributes_svnt_export.h b/modules/CIAO/tests/IDL3/Homes/Attributes/HomeAttributes_svnt_export.h
new file mode 100644
index 00000000000..f99dd7694f3
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Homes/Attributes/HomeAttributes_svnt_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl HOMEATTRIBUTES_SVNT
+// ------------------------------
+#ifndef HOMEATTRIBUTES_SVNT_EXPORT_H
+#define HOMEATTRIBUTES_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (HOMEATTRIBUTES_SVNT_HAS_DLL)
+# define HOMEATTRIBUTES_SVNT_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && HOMEATTRIBUTES_SVNT_HAS_DLL */
+
+#if !defined (HOMEATTRIBUTES_SVNT_HAS_DLL)
+# define HOMEATTRIBUTES_SVNT_HAS_DLL 1
+#endif /* ! HOMEATTRIBUTES_SVNT_HAS_DLL */
+
+#if defined (HOMEATTRIBUTES_SVNT_HAS_DLL) && (HOMEATTRIBUTES_SVNT_HAS_DLL == 1)
+# if defined (HOMEATTRIBUTES_SVNT_BUILD_DLL)
+# define HOMEATTRIBUTES_SVNT_Export ACE_Proper_Export_Flag
+# define HOMEATTRIBUTES_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define HOMEATTRIBUTES_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* HOMEATTRIBUTES_SVNT_BUILD_DLL */
+# define HOMEATTRIBUTES_SVNT_Export ACE_Proper_Import_Flag
+# define HOMEATTRIBUTES_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define HOMEATTRIBUTES_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* HOMEATTRIBUTES_SVNT_BUILD_DLL */
+#else /* HOMEATTRIBUTES_SVNT_HAS_DLL == 1 */
+# define HOMEATTRIBUTES_SVNT_Export
+# define HOMEATTRIBUTES_SVNT_SINGLETON_DECLARATION(T)
+# define HOMEATTRIBUTES_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* HOMEATTRIBUTES_SVNT_HAS_DLL == 1 */
+
+// Set HOMEATTRIBUTES_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (HOMEATTRIBUTES_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define HOMEATTRIBUTES_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define HOMEATTRIBUTES_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !HOMEATTRIBUTES_SVNT_NTRACE */
+
+#if (HOMEATTRIBUTES_SVNT_NTRACE == 1)
+# define HOMEATTRIBUTES_SVNT_TRACE(X)
+#else /* (HOMEATTRIBUTES_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define HOMEATTRIBUTES_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (HOMEATTRIBUTES_SVNT_NTRACE == 1) */
+
+#endif /* HOMEATTRIBUTES_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/Homes/Basic/Basic.idl b/modules/CIAO/tests/IDL3/Homes/Basic/Basic.idl
new file mode 100644
index 00000000000..3d9f4c5162e
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Homes/Basic/Basic.idl
@@ -0,0 +1,31 @@
+// $Id$
+/**
+ * @file Basic.idl
+ * @author Will Otte <wotte@dre.vanderbilt.edu>
+ *
+ * Tests the compileability of basic Home types.
+ */
+
+#include <Components.idl>
+
+module BasicHomes
+{
+
+ interface foo_interface {};
+
+ component Foo supports foo_interface {};
+
+ home FooHome manages Foo
+ {
+ };
+
+
+ interface bar_interface {};
+
+ component Bar supports bar_interface {};
+
+ home BarHome supports foo_interface manages Bar
+ {
+ };
+
+};
diff --git a/modules/CIAO/tests/IDL3/Homes/Basic/Basic.mpc b/modules/CIAO/tests/IDL3/Homes/Basic/Basic.mpc
new file mode 100644
index 00000000000..f676e9d9b70
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Homes/Basic/Basic.mpc
@@ -0,0 +1,17 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -n Basic"
+
+project(IDL3_Basic_stub): ccm_stub {
+
+ sharedname = Homes_Basic_stub
+ idlflags += -Wb,stub_export_macro=BASIC_STUB_Export -Wb,stub_export_include=Basic_stub_export.h -Wb,skel_export_macro=BASIC_SVNT_Export -Wb,skel_export_include=Basic_svnt_export.h
+ dynamicflags = BASIC_STUB_BUILD_DLL
+
+ IDL_Files {
+ Basic.idl
+ }
+
+ Source_Files {
+ BasicC.cpp
+ }
+}
diff --git a/modules/CIAO/tests/IDL3/Homes/Basic/Basic_stub_export.h b/modules/CIAO/tests/IDL3/Homes/Basic/Basic_stub_export.h
new file mode 100644
index 00000000000..469d1f6827c
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Homes/Basic/Basic_stub_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl BASIC_STUB
+// ------------------------------
+#ifndef BASIC_STUB_EXPORT_H
+#define BASIC_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (BASIC_STUB_HAS_DLL)
+# define BASIC_STUB_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && BASIC_STUB_HAS_DLL */
+
+#if !defined (BASIC_STUB_HAS_DLL)
+# define BASIC_STUB_HAS_DLL 1
+#endif /* ! BASIC_STUB_HAS_DLL */
+
+#if defined (BASIC_STUB_HAS_DLL) && (BASIC_STUB_HAS_DLL == 1)
+# if defined (BASIC_STUB_BUILD_DLL)
+# define BASIC_STUB_Export ACE_Proper_Export_Flag
+# define BASIC_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define BASIC_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* BASIC_STUB_BUILD_DLL */
+# define BASIC_STUB_Export ACE_Proper_Import_Flag
+# define BASIC_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define BASIC_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* BASIC_STUB_BUILD_DLL */
+#else /* BASIC_STUB_HAS_DLL == 1 */
+# define BASIC_STUB_Export
+# define BASIC_STUB_SINGLETON_DECLARATION(T)
+# define BASIC_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* BASIC_STUB_HAS_DLL == 1 */
+
+// Set BASIC_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (BASIC_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define BASIC_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define BASIC_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !BASIC_STUB_NTRACE */
+
+#if (BASIC_STUB_NTRACE == 1)
+# define BASIC_STUB_TRACE(X)
+#else /* (BASIC_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define BASIC_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (BASIC_STUB_NTRACE == 1) */
+
+#endif /* BASIC_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/Homes/Basic/Basic_svnt_export.h b/modules/CIAO/tests/IDL3/Homes/Basic/Basic_svnt_export.h
new file mode 100644
index 00000000000..569fe626ebc
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Homes/Basic/Basic_svnt_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl BASIC_SVNT
+// ------------------------------
+#ifndef BASIC_SVNT_EXPORT_H
+#define BASIC_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (BASIC_SVNT_HAS_DLL)
+# define BASIC_SVNT_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && BASIC_SVNT_HAS_DLL */
+
+#if !defined (BASIC_SVNT_HAS_DLL)
+# define BASIC_SVNT_HAS_DLL 1
+#endif /* ! BASIC_SVNT_HAS_DLL */
+
+#if defined (BASIC_SVNT_HAS_DLL) && (BASIC_SVNT_HAS_DLL == 1)
+# if defined (BASIC_SVNT_BUILD_DLL)
+# define BASIC_SVNT_Export ACE_Proper_Export_Flag
+# define BASIC_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define BASIC_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* BASIC_SVNT_BUILD_DLL */
+# define BASIC_SVNT_Export ACE_Proper_Import_Flag
+# define BASIC_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define BASIC_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* BASIC_SVNT_BUILD_DLL */
+#else /* BASIC_SVNT_HAS_DLL == 1 */
+# define BASIC_SVNT_Export
+# define BASIC_SVNT_SINGLETON_DECLARATION(T)
+# define BASIC_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* BASIC_SVNT_HAS_DLL == 1 */
+
+// Set BASIC_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (BASIC_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define BASIC_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define BASIC_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !BASIC_SVNT_NTRACE */
+
+#if (BASIC_SVNT_NTRACE == 1)
+# define BASIC_SVNT_TRACE(X)
+#else /* (BASIC_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define BASIC_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (BASIC_SVNT_NTRACE == 1) */
+
+#endif /* BASIC_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/Homes/Factory/Factory.idl b/modules/CIAO/tests/IDL3/Homes/Factory/Factory.idl
new file mode 100644
index 00000000000..c9520b11c0a
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Homes/Factory/Factory.idl
@@ -0,0 +1,35 @@
+// $Id$
+/**
+ * @file Factory.idl
+ * @author Will Otte <wotte@dre.vanderbilt.edu>
+ *
+ * Tests the compilation of Homes with Factorys.
+ */
+
+#include <Components.idl>
+
+module FactoryHomes
+{
+ exception foo_exception
+ {
+ };
+
+ interface foo_interface
+ {
+ };
+
+ component Foo supports foo_interface
+ {
+ };
+
+ home FooHome manages Foo
+ {
+ factory FooFactory (in string foo, in short bar) raises (foo_exception);
+ };
+
+ eventtype food
+ {
+ };
+
+
+};
diff --git a/modules/CIAO/tests/IDL3/Homes/Factory/Factory.mpc b/modules/CIAO/tests/IDL3/Homes/Factory/Factory.mpc
new file mode 100644
index 00000000000..90aed185da2
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Homes/Factory/Factory.mpc
@@ -0,0 +1,17 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -n Factory"
+
+project(Factory_stub): ccm_stub {
+
+ sharedname = Factory_stub
+ idlflags += -Wb,stub_export_macro=FACTORY_STUB_Export -Wb,stub_export_include=Factory_stub_export.h -Wb,skel_export_macro=FACTORY_SVNT_Export -Wb,skel_export_include=Factory_svnt_export.h
+ dynamicflags = FACTORY_STUB_BUILD_DLL
+
+ IDL_Files {
+ Factory.idl
+ }
+
+ Source_Files {
+ FactoryC.cpp
+ }
+}
diff --git a/modules/CIAO/tests/IDL3/Homes/Factory/Factory_stub_export.h b/modules/CIAO/tests/IDL3/Homes/Factory/Factory_stub_export.h
new file mode 100644
index 00000000000..4a5cbf3ac4e
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Homes/Factory/Factory_stub_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl FACTORY_STUB
+// ------------------------------
+#ifndef FACTORY_STUB_EXPORT_H
+#define FACTORY_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (FACTORY_STUB_HAS_DLL)
+# define FACTORY_STUB_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && FACTORY_STUB_HAS_DLL */
+
+#if !defined (FACTORY_STUB_HAS_DLL)
+# define FACTORY_STUB_HAS_DLL 1
+#endif /* ! FACTORY_STUB_HAS_DLL */
+
+#if defined (FACTORY_STUB_HAS_DLL) && (FACTORY_STUB_HAS_DLL == 1)
+# if defined (FACTORY_STUB_BUILD_DLL)
+# define FACTORY_STUB_Export ACE_Proper_Export_Flag
+# define FACTORY_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define FACTORY_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* FACTORY_STUB_BUILD_DLL */
+# define FACTORY_STUB_Export ACE_Proper_Import_Flag
+# define FACTORY_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define FACTORY_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* FACTORY_STUB_BUILD_DLL */
+#else /* FACTORY_STUB_HAS_DLL == 1 */
+# define FACTORY_STUB_Export
+# define FACTORY_STUB_SINGLETON_DECLARATION(T)
+# define FACTORY_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* FACTORY_STUB_HAS_DLL == 1 */
+
+// Set FACTORY_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (FACTORY_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define FACTORY_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define FACTORY_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !FACTORY_STUB_NTRACE */
+
+#if (FACTORY_STUB_NTRACE == 1)
+# define FACTORY_STUB_TRACE(X)
+#else /* (FACTORY_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define FACTORY_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (FACTORY_STUB_NTRACE == 1) */
+
+#endif /* FACTORY_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/Homes/Factory/Factory_svnt_export.h b/modules/CIAO/tests/IDL3/Homes/Factory/Factory_svnt_export.h
new file mode 100644
index 00000000000..3bfb6c71d9e
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Homes/Factory/Factory_svnt_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl FACTORY_SVNT
+// ------------------------------
+#ifndef FACTORY_SVNT_EXPORT_H
+#define FACTORY_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (FACTORY_SVNT_HAS_DLL)
+# define FACTORY_SVNT_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && FACTORY_SVNT_HAS_DLL */
+
+#if !defined (FACTORY_SVNT_HAS_DLL)
+# define FACTORY_SVNT_HAS_DLL 1
+#endif /* ! FACTORY_SVNT_HAS_DLL */
+
+#if defined (FACTORY_SVNT_HAS_DLL) && (FACTORY_SVNT_HAS_DLL == 1)
+# if defined (FACTORY_SVNT_BUILD_DLL)
+# define FACTORY_SVNT_Export ACE_Proper_Export_Flag
+# define FACTORY_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define FACTORY_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* FACTORY_SVNT_BUILD_DLL */
+# define FACTORY_SVNT_Export ACE_Proper_Import_Flag
+# define FACTORY_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define FACTORY_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* FACTORY_SVNT_BUILD_DLL */
+#else /* FACTORY_SVNT_HAS_DLL == 1 */
+# define FACTORY_SVNT_Export
+# define FACTORY_SVNT_SINGLETON_DECLARATION(T)
+# define FACTORY_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* FACTORY_SVNT_HAS_DLL == 1 */
+
+// Set FACTORY_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (FACTORY_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define FACTORY_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define FACTORY_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !FACTORY_SVNT_NTRACE */
+
+#if (FACTORY_SVNT_NTRACE == 1)
+# define FACTORY_SVNT_TRACE(X)
+#else /* (FACTORY_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define FACTORY_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (FACTORY_SVNT_NTRACE == 1) */
+
+#endif /* FACTORY_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/Homes/Finder/Finder.idl b/modules/CIAO/tests/IDL3/Homes/Finder/Finder.idl
new file mode 100644
index 00000000000..5057b162fc3
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Homes/Finder/Finder.idl
@@ -0,0 +1,30 @@
+// $Id$
+/**
+ * @file Finder.idl
+ * @author Will Otte <wotte@dre.vanderbilt.edu>
+ *
+ * Tests the compilation of Homes with Factorys.
+ */
+
+#include <Components.idl>
+
+module FactoryHomes
+{
+ exception foo_exception
+ {
+ };
+
+ interface foo_interface
+ {
+ };
+
+ component Foo supports foo_interface
+ {
+ };
+
+ home FooHome manages Foo
+ {
+ factory FooFinder (in string foo, in short bar) raises (foo_exception);
+ };
+
+};
diff --git a/modules/CIAO/tests/IDL3/Homes/Finder/Finder.mpc b/modules/CIAO/tests/IDL3/Homes/Finder/Finder.mpc
new file mode 100644
index 00000000000..ce99a021e6f
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Homes/Finder/Finder.mpc
@@ -0,0 +1,17 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -n Finder"
+
+project(Finder_stub): ccm_stub {
+
+ sharedname = Finder_stub
+ idlflags += -Wb,stub_export_macro=FINDER_STUB_Export -Wb,stub_export_include=Finder_stub_export.h -Wb,skel_export_macro=FINDER_SVNT_Export -Wb,skel_export_include=Finder_svnt_export.h
+ dynamicflags = FINDER_STUB_BUILD_DLL
+
+ IDL_Files {
+ Finder.idl
+ }
+
+ Source_Files {
+ FinderC.cpp
+ }
+}
diff --git a/modules/CIAO/tests/IDL3/Homes/Finder/Finder_stub_export.h b/modules/CIAO/tests/IDL3/Homes/Finder/Finder_stub_export.h
new file mode 100644
index 00000000000..4d9cd68fe15
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Homes/Finder/Finder_stub_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl FINDER_STUB
+// ------------------------------
+#ifndef FINDER_STUB_EXPORT_H
+#define FINDER_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (FINDER_STUB_HAS_DLL)
+# define FINDER_STUB_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && FINDER_STUB_HAS_DLL */
+
+#if !defined (FINDER_STUB_HAS_DLL)
+# define FINDER_STUB_HAS_DLL 1
+#endif /* ! FINDER_STUB_HAS_DLL */
+
+#if defined (FINDER_STUB_HAS_DLL) && (FINDER_STUB_HAS_DLL == 1)
+# if defined (FINDER_STUB_BUILD_DLL)
+# define FINDER_STUB_Export ACE_Proper_Export_Flag
+# define FINDER_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define FINDER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* FINDER_STUB_BUILD_DLL */
+# define FINDER_STUB_Export ACE_Proper_Import_Flag
+# define FINDER_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define FINDER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* FINDER_STUB_BUILD_DLL */
+#else /* FINDER_STUB_HAS_DLL == 1 */
+# define FINDER_STUB_Export
+# define FINDER_STUB_SINGLETON_DECLARATION(T)
+# define FINDER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* FINDER_STUB_HAS_DLL == 1 */
+
+// Set FINDER_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (FINDER_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define FINDER_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define FINDER_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !FINDER_STUB_NTRACE */
+
+#if (FINDER_STUB_NTRACE == 1)
+# define FINDER_STUB_TRACE(X)
+#else /* (FINDER_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define FINDER_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (FINDER_STUB_NTRACE == 1) */
+
+#endif /* FINDER_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/Homes/Finder/Finder_svnt_export.h b/modules/CIAO/tests/IDL3/Homes/Finder/Finder_svnt_export.h
new file mode 100644
index 00000000000..87a52c9df52
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Homes/Finder/Finder_svnt_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl FINDER_SVNT
+// ------------------------------
+#ifndef FINDER_SVNT_EXPORT_H
+#define FINDER_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (FINDER_SVNT_HAS_DLL)
+# define FINDER_SVNT_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && FINDER_SVNT_HAS_DLL */
+
+#if !defined (FINDER_SVNT_HAS_DLL)
+# define FINDER_SVNT_HAS_DLL 1
+#endif /* ! FINDER_SVNT_HAS_DLL */
+
+#if defined (FINDER_SVNT_HAS_DLL) && (FINDER_SVNT_HAS_DLL == 1)
+# if defined (FINDER_SVNT_BUILD_DLL)
+# define FINDER_SVNT_Export ACE_Proper_Export_Flag
+# define FINDER_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define FINDER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* FINDER_SVNT_BUILD_DLL */
+# define FINDER_SVNT_Export ACE_Proper_Import_Flag
+# define FINDER_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define FINDER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* FINDER_SVNT_BUILD_DLL */
+#else /* FINDER_SVNT_HAS_DLL == 1 */
+# define FINDER_SVNT_Export
+# define FINDER_SVNT_SINGLETON_DECLARATION(T)
+# define FINDER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* FINDER_SVNT_HAS_DLL == 1 */
+
+// Set FINDER_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (FINDER_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define FINDER_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define FINDER_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !FINDER_SVNT_NTRACE */
+
+#if (FINDER_SVNT_NTRACE == 1)
+# define FINDER_SVNT_TRACE(X)
+#else /* (FINDER_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define FINDER_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (FINDER_SVNT_NTRACE == 1) */
+
+#endif /* FINDER_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/Homes/Inheritance/Inheritance.idl b/modules/CIAO/tests/IDL3/Homes/Inheritance/Inheritance.idl
new file mode 100644
index 00000000000..e1bce50fc2f
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Homes/Inheritance/Inheritance.idl
@@ -0,0 +1,33 @@
+// $Id$
+/**
+ * @file Inheritance.idl
+ * @author Will Otte <wotte@dre.vanderbilt.edu>
+ *
+ * Tests the compilation of Home inheritance.
+ */
+
+#include <Components.idl>
+
+module HomeInheritance
+{
+ interface foo_interface
+ {
+ };
+
+ component Foo supports foo_interface
+ {
+ };
+
+ home FooHome manages Foo
+ {
+ };
+
+ component Bar
+ {
+ };
+
+ home BarHome : FooHome manages Bar
+ {
+ };
+
+};
diff --git a/modules/CIAO/tests/IDL3/Homes/Inheritance/Inheritance.mpc b/modules/CIAO/tests/IDL3/Homes/Inheritance/Inheritance.mpc
new file mode 100644
index 00000000000..cd467329b2c
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Homes/Inheritance/Inheritance.mpc
@@ -0,0 +1,17 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -n Inheritance"
+
+project(Inheritance_stub): ccm_stub {
+
+ sharedname = Inheritance_stub
+ idlflags += -Wb,stub_export_macro=INHERITANCE_STUB_Export -Wb,stub_export_include=Inheritance_stub_export.h -Wb,skel_export_macro=INHERITANCE_SVNT_Export -Wb,skel_export_include=Inheritance_svnt_export.h
+ dynamicflags = INHERITANCE_STUB_BUILD_DLL
+
+ IDL_Files {
+ Inheritance.idl
+ }
+
+ Source_Files {
+ InheritanceC.cpp
+ }
+}
diff --git a/modules/CIAO/tests/IDL3/Homes/Inheritance/Inheritance_stub_export.h b/modules/CIAO/tests/IDL3/Homes/Inheritance/Inheritance_stub_export.h
new file mode 100644
index 00000000000..8850bb78150
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Homes/Inheritance/Inheritance_stub_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl INHERITANCE_STUB
+// ------------------------------
+#ifndef INHERITANCE_STUB_EXPORT_H
+#define INHERITANCE_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (INHERITANCE_STUB_HAS_DLL)
+# define INHERITANCE_STUB_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && INHERITANCE_STUB_HAS_DLL */
+
+#if !defined (INHERITANCE_STUB_HAS_DLL)
+# define INHERITANCE_STUB_HAS_DLL 1
+#endif /* ! INHERITANCE_STUB_HAS_DLL */
+
+#if defined (INHERITANCE_STUB_HAS_DLL) && (INHERITANCE_STUB_HAS_DLL == 1)
+# if defined (INHERITANCE_STUB_BUILD_DLL)
+# define INHERITANCE_STUB_Export ACE_Proper_Export_Flag
+# define INHERITANCE_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define INHERITANCE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* INHERITANCE_STUB_BUILD_DLL */
+# define INHERITANCE_STUB_Export ACE_Proper_Import_Flag
+# define INHERITANCE_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define INHERITANCE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* INHERITANCE_STUB_BUILD_DLL */
+#else /* INHERITANCE_STUB_HAS_DLL == 1 */
+# define INHERITANCE_STUB_Export
+# define INHERITANCE_STUB_SINGLETON_DECLARATION(T)
+# define INHERITANCE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* INHERITANCE_STUB_HAS_DLL == 1 */
+
+// Set INHERITANCE_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (INHERITANCE_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define INHERITANCE_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define INHERITANCE_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !INHERITANCE_STUB_NTRACE */
+
+#if (INHERITANCE_STUB_NTRACE == 1)
+# define INHERITANCE_STUB_TRACE(X)
+#else /* (INHERITANCE_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define INHERITANCE_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (INHERITANCE_STUB_NTRACE == 1) */
+
+#endif /* INHERITANCE_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/Homes/Inheritance/Inheritance_svnt_export.h b/modules/CIAO/tests/IDL3/Homes/Inheritance/Inheritance_svnt_export.h
new file mode 100644
index 00000000000..083c201538a
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Homes/Inheritance/Inheritance_svnt_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl INHERITANCE_SVNT
+// ------------------------------
+#ifndef INHERITANCE_SVNT_EXPORT_H
+#define INHERITANCE_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (INHERITANCE_SVNT_HAS_DLL)
+# define INHERITANCE_SVNT_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && INHERITANCE_SVNT_HAS_DLL */
+
+#if !defined (INHERITANCE_SVNT_HAS_DLL)
+# define INHERITANCE_SVNT_HAS_DLL 1
+#endif /* ! INHERITANCE_SVNT_HAS_DLL */
+
+#if defined (INHERITANCE_SVNT_HAS_DLL) && (INHERITANCE_SVNT_HAS_DLL == 1)
+# if defined (INHERITANCE_SVNT_BUILD_DLL)
+# define INHERITANCE_SVNT_Export ACE_Proper_Export_Flag
+# define INHERITANCE_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define INHERITANCE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* INHERITANCE_SVNT_BUILD_DLL */
+# define INHERITANCE_SVNT_Export ACE_Proper_Import_Flag
+# define INHERITANCE_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define INHERITANCE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* INHERITANCE_SVNT_BUILD_DLL */
+#else /* INHERITANCE_SVNT_HAS_DLL == 1 */
+# define INHERITANCE_SVNT_Export
+# define INHERITANCE_SVNT_SINGLETON_DECLARATION(T)
+# define INHERITANCE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* INHERITANCE_SVNT_HAS_DLL == 1 */
+
+// Set INHERITANCE_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (INHERITANCE_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define INHERITANCE_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define INHERITANCE_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !INHERITANCE_SVNT_NTRACE */
+
+#if (INHERITANCE_SVNT_NTRACE == 1)
+# define INHERITANCE_SVNT_TRACE(X)
+#else /* (INHERITANCE_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define INHERITANCE_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (INHERITANCE_SVNT_NTRACE == 1) */
+
+#endif /* INHERITANCE_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/All/README b/modules/CIAO/tests/IDL3/ImpliedIDL/All/README
new file mode 100644
index 00000000000..2f4e09eaf3c
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/All/README
@@ -0,0 +1,88 @@
+ Converting IDL3 to IDL2
+ =======================
+
+Introduction
+============
+
+This directory contains a test for the executable
+tao_idl3_to_idl2, which inputs a single IDL file and
+outputs a single IDL file which has the IDL3 declarations
+from the input file converted to the corresponding 'implied
+IDL' declarations specificed by the mapping in the CCM
+document.
+
+This utility can be used in conjunction with some IDL compiler
+that does not support IDL3 keywords and syntax. The output of
+the utility can be processed by such a compiler, yielding code
+in the target programming language equivalent to that which
+would have been generated in one step by a CCM-aware IDL compiler.
+
+The tao_idl3_to_idl2 executable itself is built in
+CIAO_ROOT/tools/IDL3_to_IDL2. It uses the TAO IDL compiler
+front end parsing engine and the TAO IDL compiler driver
+files, so it depends on ACE. The IDL generation is
+accomplished by a custom backend library.
+
+Other Features Tested
+=====================
+
+The IDL file keyword_clash.idl contains many identifiers that
+are either escaped (to avoid a clash with IDL keywords) or
+are C++ keywords. Coverting this file, then generatin and
+compiling C++ from it, tests the ability of the conversion
+tool to preserve these identifiers correctly when mapping
+from IDL to IDL.
+
+The IDL file raw_include.idl is intentionaly left out of
+conversion processing. It contains no IDL with 'implied IDL'
+mapping. Since it is included in pass_through.idl, it
+must be included in pass_through_IDL2.idl, but without itself
+having the '_IDL2' suffix added. This type of 'raw' inclusion
+is necessary in some cases, and the MPC file adds a command
+line option to the processing of pass_through.idl to make
+sure the raw_include.idl is processed in this way.
+
+Running The Test
+================
+
+This test is only to determine that the generated IDL files
+are valid. So once the converted IDL file (having the
+extension _IDL2.idl) is generated by tao_idl3_to_idl2, the
+TAO IDL compiler is executed on the generated IDL file and
+the resulting C++ files compiled. If the compilation is
+successful for all such files, the test is a success.
+
+Notable Build Features
+======================
+
+Two features of the MPC file for this test are of interest:
+
+1.
+Two of the three IDL files in the test, pass_through.idl and
+include.idl, contain no IDL3 constructs, but merely test the
+executable's regeneration of IDL2 constructs. Since one IDL
+file is included in the other, there is a dependency that
+requires both IDL files to be processed before running the
+IDL compiler on pass_through_IDL2.idl. The line
+
+ pass_through_IDL2.idl << include_IDL2.idl
+
+indicates this dependency to the MPC tool, ensuring the correct
+order of execution.
+
+2.
+The -Sm option passed to the IDL compiler must be used when
+processing an IDL file resulting from the execution of
+tao_idl3_to_idl2. This option disables the action of the
+tao_idl backend 'preprocessor' (which is 'on' by default)
+that adds implied IDL nodes to the Abstract Syntax Tree
+for subsequent C++ code generation. In the case of an eventtype,
+the CCM spec requires additional code generation for a corresponding
+implied 'event consumer' IDL interface, as well as for the
+eventtype itself. The tao_idl3_to_idl2 executable adds this
+interface explicitly to the generated IDL file, along with the
+original eventtype. Without the -Sm option, the event consumer
+interface would appear redundantly in both explicit and implied
+IDL, resulting in a name clash. Since the IDL compiler cannot
+know the origin of the IDL file it is processing, the -Sm
+option encapsulates that knowledge. \ No newline at end of file
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/All/all.mpc b/modules/CIAO/tests/IDL3/ImpliedIDL/All/all.mpc
new file mode 100644
index 00000000000..2b693f1d0aa
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/All/all.mpc
@@ -0,0 +1,40 @@
+// -*- MPC -*-
+// $Id$
+
+project(ConvertIDL3) : taoidl3toidl2defaults, ciao_executor {
+ avoids += mfc
+ idlflags += -Sm
+
+ IDL3TOIDL2_Files {
+ convert.idl
+ include.idl
+ keyword_clash.idl
+ }
+
+ IDL3TOIDL2_Files {
+ idl3toidl2flags += -x raw_include.idl
+ pass_through.idl
+ }
+
+ IDL_Files {
+ convert_IDL2.idl
+ include_IDL2.idl
+ keyword_clash_IDL2.idl
+ pass_through_IDL2.idl << include_IDL2.idl
+ raw_include.idl
+ }
+
+ Source_Files {
+ convert_IDL2C.cpp
+ convert_IDL2S.cpp
+ include_IDL2C.cpp
+ include_IDL2S.cpp
+ keyword_clash_IDL2C.cpp
+ keyword_clash_IDL2S.cpp
+ pass_through_IDL2C.cpp
+ pass_through_IDL2S.cpp
+ raw_includeC.cpp
+ raw_includeS.cpp
+ }
+}
+
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/All/convert.idl b/modules/CIAO/tests/IDL3/ImpliedIDL/All/convert.idl
new file mode 100644
index 00000000000..68600a619b3
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/All/convert.idl
@@ -0,0 +1,53 @@
+// $Id$
+/**
+ * @file convert.idl
+ * @author Jeff Parsons <j.parsons@vanderbilt.edu>
+ *
+ * Tests all conversions of IDL3 constructs to IDL2.
+ */
+
+#include <Components.idl>
+
+eventtype eattype;
+interface sface {};
+interface pface {};
+interface uface {};
+interface umface {};
+
+valuetype pkey : Components::PrimaryKeyBase
+{
+ public string info;
+};
+
+valuetype pubtype_base {};
+eventtype pubtype : pubtype_base {};
+eventtype emitype : pubtype {};
+eventtype eattype {};
+
+component CompBase supports sface
+{
+};
+
+component CompDerived : CompBase
+{
+ provides pface pface_provider;
+ uses uface uface_user;
+ uses multiple umface umface_umuser;
+ publishes pubtype pubtype_publisher;
+ emits emitype emitype_emitter;
+ consumes eattype eattype_consumer;
+};
+
+home CompBaseHome supports sface manages CompBase
+{
+};
+
+home CompDerivedHome : CompBaseHome manages CompDerived primarykey pkey
+{
+ 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);
+};
+
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/All/include.idl b/modules/CIAO/tests/IDL3/ImpliedIDL/All/include.idl
new file mode 100644
index 00000000000..848d4128b6e
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/All/include.idl
@@ -0,0 +1,35 @@
+// $Id$
+/**
+ * @file include.idl
+ * @author Jeff Parsons <j.parsons@vanderbilt.edu>
+ *
+ * Tests tool's regeneration of IDL2 constructs, which
+ * should be basically unchanged.
+ */
+
+#ifndef INCLUDE_IDL
+#define INCLUDE_IDL
+
+module pre_mod
+{
+ typedef long longarray[3][14][7];
+
+ exception wrong
+ {
+ sequence<sequence<long> > longseqseq;
+ string reasons[4][2];
+ wstring<3> why;
+ };
+
+ enum which
+ {
+ ZERO,
+ ONE,
+ TWO
+ };
+};
+
+const pre_mod::which which_one = pre_mod::ONE;
+
+#endif /* INCLUDE_IDL */
+
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/All/keyword_clash.idl b/modules/CIAO/tests/IDL3/ImpliedIDL/All/keyword_clash.idl
new file mode 100644
index 00000000000..987077bc185
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/All/keyword_clash.idl
@@ -0,0 +1,89 @@
+// $Id$
+/**
+ * @file keyword_clash.idl
+ * @author Jeff Parsons <j.parsons@vanderbilt.edu>
+ *
+ * Tests handling of C++ keywords and escaped identifiers (IDL
+ * keywords) in mapping IDL3 to IDL2, and mapping the resulting
+ * IDL2 to C++.
+ */
+
+#ifndef CONVERTIDL3_KEYWORD_CLASH_IDL
+#define CONVERTIDL3_KEYWORD_CLASH_IDL
+
+#include "Components.idl"
+
+module _interface
+{
+ interface _attribute
+ {
+ exception _inout {};
+ };
+};
+
+module static
+{
+ module _readonly
+ {
+ module protected
+ {
+ interface virtual
+ {
+ };
+
+ eventtype _eventtype
+ {
+ private virtual _public;
+ };
+ };
+ };
+};
+
+eventtype _eventtype
+{
+ factory friend (in string _wstring);
+};
+
+interface _oneway {};
+
+module _component
+{
+ component _out supports static::_readonly::protected::virtual
+ {
+ provides _interface::_attribute _local;
+ provides _oneway else;
+ provides static::_readonly::protected::virtual while;
+
+ attribute long _abstract;
+
+ uses multiple _interface::_attribute if;
+ uses multiple _oneway mutable;
+ uses multiple static::_readonly::protected::virtual register;
+
+ uses _interface::_attribute _union;
+ uses _oneway _struct;
+ uses static::_readonly::protected::virtual volatile;
+
+ publishes _eventtype _object;
+ publishes static::_readonly::protected::_eventtype do;
+
+ consumes _eventtype _const;
+ consumes static::_readonly::protected::_eventtype const_cast;
+
+ emits _eventtype class;
+ emits static::_readonly::protected::_eventtype delete;
+ };
+
+ home new manages _out
+ {
+ static::_readonly::protected::virtual
+ catch (
+ inout static::_readonly::protected::_eventtype try)
+ raises (_interface::_attribute::_inout);
+
+ finder continue (in _interface::_attribute _inout);
+ };
+};
+
+#endif /* CONVERTIDL3_KEYWORD_CLASH_IDL */
+
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/All/pass_through.idl b/modules/CIAO/tests/IDL3/ImpliedIDL/All/pass_through.idl
new file mode 100644
index 00000000000..7adfb514b57
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/All/pass_through.idl
@@ -0,0 +1,94 @@
+// $Id$
+/**
+ * @file pass_through.idl
+ * @author Jeff Parsons <j.parsons@vanderbilt.edu>
+ *
+ * Tests tool's regeneration of IDL2 constructs, which
+ * should be basically unchanged.
+ */
+
+#ifndef PASS_THROUGH_IDL
+#define PASS_THROUGH_IDL
+
+#pragma prefix "glooby"
+
+#include "include.idl"
+#include "raw_include.idl"
+
+module pre_mod
+{
+ module inner
+ {
+ typedef long fork;
+ };
+
+ union uke switch (which)
+ {
+ case ONE:
+ case ZERO: string str_mem;
+ default: short s_mem;
+ };
+};
+
+module mod
+{
+ typeid mod "rama:lama/ding:dong";
+
+ interface base
+ {
+ readonly attribute unsigned long long ull_attr
+ raises (pre_mod::wrong);
+ };
+
+ interface foo
+ {
+ typeprefix foo "preefy";
+
+ exception wrongety_wrong
+ {
+ base unrelated;
+ string explanation;
+ };
+
+ attribute base base_attr
+ getraises (wrongety_wrong)
+ setraises (pre_mod::wrong, wrongety_wrong);
+ };
+
+ interface bleep;
+
+ abstract interface bar
+ {
+ base bar_op (in base inarg);
+ };
+
+ interface bleep : base, foo
+ {
+ oneway void oneway_op (in string strarg, in any anyarg);
+ bleep get_me ();
+ pre_mod::uke get_uke (out boolean success)
+ raises (pre_mod::wrong, foo::wrongety_wrong);
+ void throw_something ()
+ raises (pre_mod::wrong);
+ };
+
+ abstract valuetype vt_abase
+ {
+ };
+
+ valuetype vt_cbase
+ {
+ private bleep priv_bleep;
+ public string pub_str;
+ factory vt_init (in bleep bleeparg, in string stringarg)
+ raises (pre_mod::wrong);
+ };
+
+ valuetype vt : vt_cbase, vt_abase supports foo, bar
+ {
+ factory vt_default ();
+ };
+};
+
+#endif /* PASS_THROUGH_IDL */
+
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/All/raw_include.idl b/modules/CIAO/tests/IDL3/ImpliedIDL/All/raw_include.idl
new file mode 100644
index 00000000000..b3aed65f2df
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/All/raw_include.idl
@@ -0,0 +1,27 @@
+// $Id$
+/**
+ * @file raw_include.idl
+ * @author Jeff Parsons <j.parsons@vanderbilt.edu>
+ *
+ * Tests tool's 'excluded file' feature, which allows the user
+ * to specifcy the generation of an #include for this file, in
+ * an IDL2 file corresponding to the IDL3 file this one is
+ * included in unchanged, without the '_IDL2' suffix.
+ */
+
+#ifndef RAW_INCLUDE_IDL
+#define RAW_INCLUDE_IDL
+
+module carnsarn
+{
+ typedef boolean t_or_f;
+
+ struct one
+ {
+ short shortshort;
+ string along;
+ wstring<3> trinity;
+ };
+};
+
+#endif /* RAW_INCLUDE_IDL */
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/Components/Basic/ICBasic.idl b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/Basic/ICBasic.idl
new file mode 100644
index 00000000000..a5d5897f8cc
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/Basic/ICBasic.idl
@@ -0,0 +1,25 @@
+// $Id$
+/**
+ * @file ICBasic.idl
+ * @author Will Otte <wotte@dre.vanderbilt.edu>
+ *
+ * Tests implied idl functionality of basic components.
+ */
+
+#include <Components.idl>
+
+module Basic
+{
+ component Foo
+ {
+ };
+
+ interface Bar
+ {
+ Foo test_op_1 ();
+ void test_op_2 (in Foo f);
+ void test_op_3 (out Foo f);
+ };
+
+
+};
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/Components/Basic/ICBasic.mpc b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/Basic/ICBasic.mpc
new file mode 100644
index 00000000000..854538563d0
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/Basic/ICBasic.mpc
@@ -0,0 +1,17 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -n ICBasic"
+
+project(ICBasic_stub): ccm_stub {
+
+ sharedname = ICBasic_stub
+ idlflags += -Wb,stub_export_macro=ICBASIC_STUB_Export -Wb,stub_export_include=ICBasic_stub_export.h -Wb,skel_export_macro=ICBASIC_SVNT_Export -Wb,skel_export_include=ICBasic_svnt_export.h
+ dynamicflags = ICBASIC_STUB_BUILD_DLL
+
+ IDL_Files {
+ ICBasic.idl
+ }
+
+ Source_Files {
+ ICBasicC.cpp
+ }
+}
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/Components/Basic/ICBasic_stub_export.h b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/Basic/ICBasic_stub_export.h
new file mode 100644
index 00000000000..b58cac3acfc
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/Basic/ICBasic_stub_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl ICBASIC_STUB
+// ------------------------------
+#ifndef ICBASIC_STUB_EXPORT_H
+#define ICBASIC_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (ICBASIC_STUB_HAS_DLL)
+# define ICBASIC_STUB_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && ICBASIC_STUB_HAS_DLL */
+
+#if !defined (ICBASIC_STUB_HAS_DLL)
+# define ICBASIC_STUB_HAS_DLL 1
+#endif /* ! ICBASIC_STUB_HAS_DLL */
+
+#if defined (ICBASIC_STUB_HAS_DLL) && (ICBASIC_STUB_HAS_DLL == 1)
+# if defined (ICBASIC_STUB_BUILD_DLL)
+# define ICBASIC_STUB_Export ACE_Proper_Export_Flag
+# define ICBASIC_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define ICBASIC_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* ICBASIC_STUB_BUILD_DLL */
+# define ICBASIC_STUB_Export ACE_Proper_Import_Flag
+# define ICBASIC_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define ICBASIC_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* ICBASIC_STUB_BUILD_DLL */
+#else /* ICBASIC_STUB_HAS_DLL == 1 */
+# define ICBASIC_STUB_Export
+# define ICBASIC_STUB_SINGLETON_DECLARATION(T)
+# define ICBASIC_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* ICBASIC_STUB_HAS_DLL == 1 */
+
+// Set ICBASIC_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (ICBASIC_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define ICBASIC_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define ICBASIC_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !ICBASIC_STUB_NTRACE */
+
+#if (ICBASIC_STUB_NTRACE == 1)
+# define ICBASIC_STUB_TRACE(X)
+#else /* (ICBASIC_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define ICBASIC_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (ICBASIC_STUB_NTRACE == 1) */
+
+#endif /* ICBASIC_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/Components/Basic/ICBasic_svnt_export.h b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/Basic/ICBasic_svnt_export.h
new file mode 100644
index 00000000000..de3714a6c75
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/Basic/ICBasic_svnt_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl ICBASIC_SVNT
+// ------------------------------
+#ifndef ICBASIC_SVNT_EXPORT_H
+#define ICBASIC_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (ICBASIC_SVNT_HAS_DLL)
+# define ICBASIC_SVNT_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && ICBASIC_SVNT_HAS_DLL */
+
+#if !defined (ICBASIC_SVNT_HAS_DLL)
+# define ICBASIC_SVNT_HAS_DLL 1
+#endif /* ! ICBASIC_SVNT_HAS_DLL */
+
+#if defined (ICBASIC_SVNT_HAS_DLL) && (ICBASIC_SVNT_HAS_DLL == 1)
+# if defined (ICBASIC_SVNT_BUILD_DLL)
+# define ICBASIC_SVNT_Export ACE_Proper_Export_Flag
+# define ICBASIC_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define ICBASIC_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* ICBASIC_SVNT_BUILD_DLL */
+# define ICBASIC_SVNT_Export ACE_Proper_Import_Flag
+# define ICBASIC_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define ICBASIC_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* ICBASIC_SVNT_BUILD_DLL */
+#else /* ICBASIC_SVNT_HAS_DLL == 1 */
+# define ICBASIC_SVNT_Export
+# define ICBASIC_SVNT_SINGLETON_DECLARATION(T)
+# define ICBASIC_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* ICBASIC_SVNT_HAS_DLL == 1 */
+
+// Set ICBASIC_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (ICBASIC_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define ICBASIC_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define ICBASIC_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !ICBASIC_SVNT_NTRACE */
+
+#if (ICBASIC_SVNT_NTRACE == 1)
+# define ICBASIC_SVNT_TRACE(X)
+#else /* (ICBASIC_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define ICBASIC_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (ICBASIC_SVNT_NTRACE == 1) */
+
+#endif /* ICBASIC_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSink/ICEventSink.idl b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSink/ICEventSink.idl
new file mode 100644
index 00000000000..01d41895a3a
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSink/ICEventSink.idl
@@ -0,0 +1,27 @@
+// $Id$
+/**
+ * @file ICEventSink.idl
+ * @author Will Otte <wotte@dre.vanderbilt.edu>
+ *
+ * Tests implied idl features of event sinks
+ */
+
+#include <Components.idl>
+
+module ImpliedEventSink
+{
+ eventtype foo_event
+ {
+ };
+
+ component Foo
+ {
+ consumes foo_event foo;
+ };
+ /*
+ interface test
+ {
+ ImpliedEventSink::FooEventConsumers::foo_eventConsumer test_a ();
+ };
+ */
+};
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSink/ICEventSink.mpc b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSink/ICEventSink.mpc
new file mode 100644
index 00000000000..e9381d014b2
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSink/ICEventSink.mpc
@@ -0,0 +1,17 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -n ICEventSink"
+
+project(ICEventSink_stub): ccm_stub {
+
+ sharedname = ICEventSink_stub
+ idlflags += -Wb,stub_export_macro=ICEVENTSINK_STUB_Export -Wb,stub_export_include=ICEventSink_stub_export.h -Wb,skel_export_macro=ICEVENTSINK_SVNT_Export -Wb,skel_export_include=ICEventSink_svnt_export.h
+ dynamicflags = ICEVENTSINK_STUB_BUILD_DLL
+
+ IDL_Files {
+ ICEventSink.idl
+ }
+
+ Source_Files {
+ ICEventSinkC.cpp
+ }
+}
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSink/ICEventSink_stub_export.h b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSink/ICEventSink_stub_export.h
new file mode 100644
index 00000000000..c773bbcf313
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSink/ICEventSink_stub_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl ICEVENTSINK_STUB
+// ------------------------------
+#ifndef ICEVENTSINK_STUB_EXPORT_H
+#define ICEVENTSINK_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (ICEVENTSINK_STUB_HAS_DLL)
+# define ICEVENTSINK_STUB_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && ICEVENTSINK_STUB_HAS_DLL */
+
+#if !defined (ICEVENTSINK_STUB_HAS_DLL)
+# define ICEVENTSINK_STUB_HAS_DLL 1
+#endif /* ! ICEVENTSINK_STUB_HAS_DLL */
+
+#if defined (ICEVENTSINK_STUB_HAS_DLL) && (ICEVENTSINK_STUB_HAS_DLL == 1)
+# if defined (ICEVENTSINK_STUB_BUILD_DLL)
+# define ICEVENTSINK_STUB_Export ACE_Proper_Export_Flag
+# define ICEVENTSINK_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define ICEVENTSINK_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* ICEVENTSINK_STUB_BUILD_DLL */
+# define ICEVENTSINK_STUB_Export ACE_Proper_Import_Flag
+# define ICEVENTSINK_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define ICEVENTSINK_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* ICEVENTSINK_STUB_BUILD_DLL */
+#else /* ICEVENTSINK_STUB_HAS_DLL == 1 */
+# define ICEVENTSINK_STUB_Export
+# define ICEVENTSINK_STUB_SINGLETON_DECLARATION(T)
+# define ICEVENTSINK_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* ICEVENTSINK_STUB_HAS_DLL == 1 */
+
+// Set ICEVENTSINK_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (ICEVENTSINK_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define ICEVENTSINK_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define ICEVENTSINK_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !ICEVENTSINK_STUB_NTRACE */
+
+#if (ICEVENTSINK_STUB_NTRACE == 1)
+# define ICEVENTSINK_STUB_TRACE(X)
+#else /* (ICEVENTSINK_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define ICEVENTSINK_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (ICEVENTSINK_STUB_NTRACE == 1) */
+
+#endif /* ICEVENTSINK_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSink/ICEventSink_svnt_export.h b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSink/ICEventSink_svnt_export.h
new file mode 100644
index 00000000000..10eed510dea
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSink/ICEventSink_svnt_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl ICEVENTSINK_SVNT
+// ------------------------------
+#ifndef ICEVENTSINK_SVNT_EXPORT_H
+#define ICEVENTSINK_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (ICEVENTSINK_SVNT_HAS_DLL)
+# define ICEVENTSINK_SVNT_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && ICEVENTSINK_SVNT_HAS_DLL */
+
+#if !defined (ICEVENTSINK_SVNT_HAS_DLL)
+# define ICEVENTSINK_SVNT_HAS_DLL 1
+#endif /* ! ICEVENTSINK_SVNT_HAS_DLL */
+
+#if defined (ICEVENTSINK_SVNT_HAS_DLL) && (ICEVENTSINK_SVNT_HAS_DLL == 1)
+# if defined (ICEVENTSINK_SVNT_BUILD_DLL)
+# define ICEVENTSINK_SVNT_Export ACE_Proper_Export_Flag
+# define ICEVENTSINK_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define ICEVENTSINK_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* ICEVENTSINK_SVNT_BUILD_DLL */
+# define ICEVENTSINK_SVNT_Export ACE_Proper_Import_Flag
+# define ICEVENTSINK_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define ICEVENTSINK_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* ICEVENTSINK_SVNT_BUILD_DLL */
+#else /* ICEVENTSINK_SVNT_HAS_DLL == 1 */
+# define ICEVENTSINK_SVNT_Export
+# define ICEVENTSINK_SVNT_SINGLETON_DECLARATION(T)
+# define ICEVENTSINK_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* ICEVENTSINK_SVNT_HAS_DLL == 1 */
+
+// Set ICEVENTSINK_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (ICEVENTSINK_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define ICEVENTSINK_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define ICEVENTSINK_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !ICEVENTSINK_SVNT_NTRACE */
+
+#if (ICEVENTSINK_SVNT_NTRACE == 1)
+# define ICEVENTSINK_SVNT_TRACE(X)
+#else /* (ICEVENTSINK_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define ICEVENTSINK_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (ICEVENTSINK_SVNT_NTRACE == 1) */
+
+#endif /* ICEVENTSINK_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSource/ICEventSource.idl b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSource/ICEventSource.idl
new file mode 100644
index 00000000000..08baec86e3f
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSource/ICEventSource.idl
@@ -0,0 +1,38 @@
+// $Id$
+/**
+ * @file ICEventSource.idl
+ * @author Will Otte <wotte@dre.vanderbilt.edu>
+ *
+ * Tests implied IDL of event sources.
+ */
+
+#include <Components.idl>
+
+module ImpliedSources
+{
+ eventtype foo_event
+ {
+ };
+
+ eventtype bar_event
+ {
+ };
+
+ component Foo
+ {
+ publishes foo_event foo;
+ };
+
+ component Bar
+ {
+ emits bar_event bar;
+ };
+ /*
+ interface test
+ {
+ ImpliedSources::FooEventConsumers::foo_eventConsumer test_op ();
+ ImpliedSources::BarEventConsumers::bar_eventConsumer test_op_1 ();
+ };
+ */
+};
+
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSource/ICEventSource.mpc b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSource/ICEventSource.mpc
new file mode 100644
index 00000000000..123083e4d3f
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSource/ICEventSource.mpc
@@ -0,0 +1,17 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -n ICEventSource"
+
+project(ICEventSource_stub): ccm_stub {
+
+ sharedname = ICEventSource_stub
+ idlflags += -Wb,stub_export_macro=ICEVENTSOURCE_STUB_Export -Wb,stub_export_include=ICEventSource_stub_export.h -Wb,skel_export_macro=ICEVENTSOURCE_SVNT_Export -Wb,skel_export_include=ICEventSource_svnt_export.h
+ dynamicflags = ICEVENTSOURCE_STUB_BUILD_DLL
+
+ IDL_Files {
+ ICEventSource.idl
+ }
+
+ Source_Files {
+ ICEventSourceC.cpp
+ }
+}
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSource/ICEventSource_stub_export.h b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSource/ICEventSource_stub_export.h
new file mode 100644
index 00000000000..f28d2ba2d3a
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSource/ICEventSource_stub_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl ICEVENTSOURCE_STUB
+// ------------------------------
+#ifndef ICEVENTSOURCE_STUB_EXPORT_H
+#define ICEVENTSOURCE_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (ICEVENTSOURCE_STUB_HAS_DLL)
+# define ICEVENTSOURCE_STUB_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && ICEVENTSOURCE_STUB_HAS_DLL */
+
+#if !defined (ICEVENTSOURCE_STUB_HAS_DLL)
+# define ICEVENTSOURCE_STUB_HAS_DLL 1
+#endif /* ! ICEVENTSOURCE_STUB_HAS_DLL */
+
+#if defined (ICEVENTSOURCE_STUB_HAS_DLL) && (ICEVENTSOURCE_STUB_HAS_DLL == 1)
+# if defined (ICEVENTSOURCE_STUB_BUILD_DLL)
+# define ICEVENTSOURCE_STUB_Export ACE_Proper_Export_Flag
+# define ICEVENTSOURCE_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define ICEVENTSOURCE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* ICEVENTSOURCE_STUB_BUILD_DLL */
+# define ICEVENTSOURCE_STUB_Export ACE_Proper_Import_Flag
+# define ICEVENTSOURCE_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define ICEVENTSOURCE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* ICEVENTSOURCE_STUB_BUILD_DLL */
+#else /* ICEVENTSOURCE_STUB_HAS_DLL == 1 */
+# define ICEVENTSOURCE_STUB_Export
+# define ICEVENTSOURCE_STUB_SINGLETON_DECLARATION(T)
+# define ICEVENTSOURCE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* ICEVENTSOURCE_STUB_HAS_DLL == 1 */
+
+// Set ICEVENTSOURCE_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (ICEVENTSOURCE_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define ICEVENTSOURCE_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define ICEVENTSOURCE_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !ICEVENTSOURCE_STUB_NTRACE */
+
+#if (ICEVENTSOURCE_STUB_NTRACE == 1)
+# define ICEVENTSOURCE_STUB_TRACE(X)
+#else /* (ICEVENTSOURCE_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define ICEVENTSOURCE_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (ICEVENTSOURCE_STUB_NTRACE == 1) */
+
+#endif /* ICEVENTSOURCE_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSource/ICEventSource_svnt_export.h b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSource/ICEventSource_svnt_export.h
new file mode 100644
index 00000000000..b7269a38b47
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/EventSource/ICEventSource_svnt_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl ICEVENTSOURCE_SVNT
+// ------------------------------
+#ifndef ICEVENTSOURCE_SVNT_EXPORT_H
+#define ICEVENTSOURCE_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (ICEVENTSOURCE_SVNT_HAS_DLL)
+# define ICEVENTSOURCE_SVNT_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && ICEVENTSOURCE_SVNT_HAS_DLL */
+
+#if !defined (ICEVENTSOURCE_SVNT_HAS_DLL)
+# define ICEVENTSOURCE_SVNT_HAS_DLL 1
+#endif /* ! ICEVENTSOURCE_SVNT_HAS_DLL */
+
+#if defined (ICEVENTSOURCE_SVNT_HAS_DLL) && (ICEVENTSOURCE_SVNT_HAS_DLL == 1)
+# if defined (ICEVENTSOURCE_SVNT_BUILD_DLL)
+# define ICEVENTSOURCE_SVNT_Export ACE_Proper_Export_Flag
+# define ICEVENTSOURCE_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define ICEVENTSOURCE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* ICEVENTSOURCE_SVNT_BUILD_DLL */
+# define ICEVENTSOURCE_SVNT_Export ACE_Proper_Import_Flag
+# define ICEVENTSOURCE_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define ICEVENTSOURCE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* ICEVENTSOURCE_SVNT_BUILD_DLL */
+#else /* ICEVENTSOURCE_SVNT_HAS_DLL == 1 */
+# define ICEVENTSOURCE_SVNT_Export
+# define ICEVENTSOURCE_SVNT_SINGLETON_DECLARATION(T)
+# define ICEVENTSOURCE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* ICEVENTSOURCE_SVNT_HAS_DLL == 1 */
+
+// Set ICEVENTSOURCE_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (ICEVENTSOURCE_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define ICEVENTSOURCE_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define ICEVENTSOURCE_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !ICEVENTSOURCE_SVNT_NTRACE */
+
+#if (ICEVENTSOURCE_SVNT_NTRACE == 1)
+# define ICEVENTSOURCE_SVNT_TRACE(X)
+#else /* (ICEVENTSOURCE_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define ICEVENTSOURCE_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (ICEVENTSOURCE_SVNT_NTRACE == 1) */
+
+#endif /* ICEVENTSOURCE_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/Components/Receptacles/ICReceptacles.idl b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/Receptacles/ICReceptacles.idl
new file mode 100644
index 00000000000..7af66e50e8c
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/Receptacles/ICReceptacles.idl
@@ -0,0 +1,28 @@
+// $Id$
+/**
+ * @file ICReceptacles.idl
+ * @author Will Otte <wotte@dre.vanderbilt.edu>
+ *
+ * Tests equivalent idl for receptacles.
+ */
+#include <Components.idl>
+
+module EquivReceptacles
+{
+ interface foo_interface
+ {
+ };
+
+ component Foo
+ {
+ uses multiple foo_interface foo_recep;
+ };
+
+ /**
+ interface bar
+ {
+ Foo::foo_recepConnections get_seq ();
+ Foo::foo_recepConnection get_struct ();
+ };
+ */
+};
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/Components/Receptacles/ICReceptacles.mpc b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/Receptacles/ICReceptacles.mpc
new file mode 100644
index 00000000000..cc1f610892c
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/Receptacles/ICReceptacles.mpc
@@ -0,0 +1,18 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -n ICReceptacles"
+
+project(ICReceptacles_stub): ccm_stub {
+
+ sharedname = ICReceptacles_stub
+ idlflags += -Wb,stub_export_macro=ICRECEPTACLES_STUB_Export -Wb,stub_export_include=ICReceptacles_stub_export.h -Wb,skel_export_macro=ICRECEPTACLES_SVNT_Export -Wb,skel_export_include=ICReceptacles_svnt_export.h
+ dynamicflags = ICRECEPTACLES_STUB_BUILD_DLL
+
+ IDL_Files {
+ ICReceptacles.idl
+ }
+
+ Source_Files {
+ ICReceptaclesC.cpp
+ }
+}
+
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/Components/Receptacles/ICReceptacles_stub_export.h b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/Receptacles/ICReceptacles_stub_export.h
new file mode 100644
index 00000000000..2571741be01
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/Receptacles/ICReceptacles_stub_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl ICRECEPTACLES_STUB
+// ------------------------------
+#ifndef ICRECEPTACLES_STUB_EXPORT_H
+#define ICRECEPTACLES_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (ICRECEPTACLES_STUB_HAS_DLL)
+# define ICRECEPTACLES_STUB_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && ICRECEPTACLES_STUB_HAS_DLL */
+
+#if !defined (ICRECEPTACLES_STUB_HAS_DLL)
+# define ICRECEPTACLES_STUB_HAS_DLL 1
+#endif /* ! ICRECEPTACLES_STUB_HAS_DLL */
+
+#if defined (ICRECEPTACLES_STUB_HAS_DLL) && (ICRECEPTACLES_STUB_HAS_DLL == 1)
+# if defined (ICRECEPTACLES_STUB_BUILD_DLL)
+# define ICRECEPTACLES_STUB_Export ACE_Proper_Export_Flag
+# define ICRECEPTACLES_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define ICRECEPTACLES_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* ICRECEPTACLES_STUB_BUILD_DLL */
+# define ICRECEPTACLES_STUB_Export ACE_Proper_Import_Flag
+# define ICRECEPTACLES_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define ICRECEPTACLES_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* ICRECEPTACLES_STUB_BUILD_DLL */
+#else /* ICRECEPTACLES_STUB_HAS_DLL == 1 */
+# define ICRECEPTACLES_STUB_Export
+# define ICRECEPTACLES_STUB_SINGLETON_DECLARATION(T)
+# define ICRECEPTACLES_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* ICRECEPTACLES_STUB_HAS_DLL == 1 */
+
+// Set ICRECEPTACLES_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (ICRECEPTACLES_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define ICRECEPTACLES_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define ICRECEPTACLES_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !ICRECEPTACLES_STUB_NTRACE */
+
+#if (ICRECEPTACLES_STUB_NTRACE == 1)
+# define ICRECEPTACLES_STUB_TRACE(X)
+#else /* (ICRECEPTACLES_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define ICRECEPTACLES_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (ICRECEPTACLES_STUB_NTRACE == 1) */
+
+#endif /* ICRECEPTACLES_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/Components/Receptacles/ICReceptacles_svnt_export.h b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/Receptacles/ICReceptacles_svnt_export.h
new file mode 100644
index 00000000000..d826479eeaa
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/Components/Receptacles/ICReceptacles_svnt_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl ICRECEPTACLES_SVNT
+// ------------------------------
+#ifndef ICRECEPTACLES_SVNT_EXPORT_H
+#define ICRECEPTACLES_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (ICRECEPTACLES_SVNT_HAS_DLL)
+# define ICRECEPTACLES_SVNT_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && ICRECEPTACLES_SVNT_HAS_DLL */
+
+#if !defined (ICRECEPTACLES_SVNT_HAS_DLL)
+# define ICRECEPTACLES_SVNT_HAS_DLL 1
+#endif /* ! ICRECEPTACLES_SVNT_HAS_DLL */
+
+#if defined (ICRECEPTACLES_SVNT_HAS_DLL) && (ICRECEPTACLES_SVNT_HAS_DLL == 1)
+# if defined (ICRECEPTACLES_SVNT_BUILD_DLL)
+# define ICRECEPTACLES_SVNT_Export ACE_Proper_Export_Flag
+# define ICRECEPTACLES_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define ICRECEPTACLES_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* ICRECEPTACLES_SVNT_BUILD_DLL */
+# define ICRECEPTACLES_SVNT_Export ACE_Proper_Import_Flag
+# define ICRECEPTACLES_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define ICRECEPTACLES_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* ICRECEPTACLES_SVNT_BUILD_DLL */
+#else /* ICRECEPTACLES_SVNT_HAS_DLL == 1 */
+# define ICRECEPTACLES_SVNT_Export
+# define ICRECEPTACLES_SVNT_SINGLETON_DECLARATION(T)
+# define ICRECEPTACLES_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* ICRECEPTACLES_SVNT_HAS_DLL == 1 */
+
+// Set ICRECEPTACLES_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (ICRECEPTACLES_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define ICRECEPTACLES_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define ICRECEPTACLES_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !ICRECEPTACLES_SVNT_NTRACE */
+
+#if (ICRECEPTACLES_SVNT_NTRACE == 1)
+# define ICRECEPTACLES_SVNT_TRACE(X)
+#else /* (ICRECEPTACLES_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define ICRECEPTACLES_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (ICRECEPTACLES_SVNT_NTRACE == 1) */
+
+#endif /* ICRECEPTACLES_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/Events/Events.idl b/modules/CIAO/tests/IDL3/ImpliedIDL/Events/Events.idl
new file mode 100644
index 00000000000..62092c9e958
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/Events/Events.idl
@@ -0,0 +1,22 @@
+// $Id$
+/**
+ * @file Events.idl
+ * @author Will Otte <wotte@dre.vanderbilt.edu>
+ *
+ * Tests implied IDL for event types.
+ */
+
+#include <Components.idl>
+
+module ImpliedEvent
+{
+ eventtype foo
+ {
+ };
+ /*
+ interface test_foo
+ {
+ fooConsumer test_op ();
+ };
+ */
+};
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/Events/Events.mpc b/modules/CIAO/tests/IDL3/ImpliedIDL/Events/Events.mpc
new file mode 100644
index 00000000000..4200e384e0a
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/Events/Events.mpc
@@ -0,0 +1,17 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -n Events"
+
+project(Events_stub): ccm_stub {
+
+ sharedname = Events_stub
+ idlflags += -Wb,stub_export_macro=EVENTS_STUB_Export -Wb,stub_export_include=Events_stub_export.h -Wb,skel_export_macro=EVENTS_SVNT_Export -Wb,skel_export_include=Events_svnt_export.h
+ dynamicflags = EVENTS_STUB_BUILD_DLL
+
+ IDL_Files {
+ Events.idl
+ }
+
+ Source_Files {
+ EventsC.cpp
+ }
+}
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/Events/Events_stub_export.h b/modules/CIAO/tests/IDL3/ImpliedIDL/Events/Events_stub_export.h
new file mode 100644
index 00000000000..be696db1402
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/Events/Events_stub_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl EVENTS_STUB
+// ------------------------------
+#ifndef EVENTS_STUB_EXPORT_H
+#define EVENTS_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (EVENTS_STUB_HAS_DLL)
+# define EVENTS_STUB_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && EVENTS_STUB_HAS_DLL */
+
+#if !defined (EVENTS_STUB_HAS_DLL)
+# define EVENTS_STUB_HAS_DLL 1
+#endif /* ! EVENTS_STUB_HAS_DLL */
+
+#if defined (EVENTS_STUB_HAS_DLL) && (EVENTS_STUB_HAS_DLL == 1)
+# if defined (EVENTS_STUB_BUILD_DLL)
+# define EVENTS_STUB_Export ACE_Proper_Export_Flag
+# define EVENTS_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define EVENTS_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* EVENTS_STUB_BUILD_DLL */
+# define EVENTS_STUB_Export ACE_Proper_Import_Flag
+# define EVENTS_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define EVENTS_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* EVENTS_STUB_BUILD_DLL */
+#else /* EVENTS_STUB_HAS_DLL == 1 */
+# define EVENTS_STUB_Export
+# define EVENTS_STUB_SINGLETON_DECLARATION(T)
+# define EVENTS_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* EVENTS_STUB_HAS_DLL == 1 */
+
+// Set EVENTS_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (EVENTS_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define EVENTS_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define EVENTS_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !EVENTS_STUB_NTRACE */
+
+#if (EVENTS_STUB_NTRACE == 1)
+# define EVENTS_STUB_TRACE(X)
+#else /* (EVENTS_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define EVENTS_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (EVENTS_STUB_NTRACE == 1) */
+
+#endif /* EVENTS_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/Events/Events_svnt_export.h b/modules/CIAO/tests/IDL3/ImpliedIDL/Events/Events_svnt_export.h
new file mode 100644
index 00000000000..bca88a9a54a
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/Events/Events_svnt_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl EVENTS_SVNT
+// ------------------------------
+#ifndef EVENTS_SVNT_EXPORT_H
+#define EVENTS_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (EVENTS_SVNT_HAS_DLL)
+# define EVENTS_SVNT_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && EVENTS_SVNT_HAS_DLL */
+
+#if !defined (EVENTS_SVNT_HAS_DLL)
+# define EVENTS_SVNT_HAS_DLL 1
+#endif /* ! EVENTS_SVNT_HAS_DLL */
+
+#if defined (EVENTS_SVNT_HAS_DLL) && (EVENTS_SVNT_HAS_DLL == 1)
+# if defined (EVENTS_SVNT_BUILD_DLL)
+# define EVENTS_SVNT_Export ACE_Proper_Export_Flag
+# define EVENTS_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define EVENTS_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* EVENTS_SVNT_BUILD_DLL */
+# define EVENTS_SVNT_Export ACE_Proper_Import_Flag
+# define EVENTS_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define EVENTS_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* EVENTS_SVNT_BUILD_DLL */
+#else /* EVENTS_SVNT_HAS_DLL == 1 */
+# define EVENTS_SVNT_Export
+# define EVENTS_SVNT_SINGLETON_DECLARATION(T)
+# define EVENTS_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* EVENTS_SVNT_HAS_DLL == 1 */
+
+// Set EVENTS_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (EVENTS_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define EVENTS_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define EVENTS_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !EVENTS_SVNT_NTRACE */
+
+#if (EVENTS_SVNT_NTRACE == 1)
+# define EVENTS_SVNT_TRACE(X)
+#else /* (EVENTS_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define EVENTS_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (EVENTS_SVNT_NTRACE == 1) */
+
+#endif /* EVENTS_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/Homes/Homes.idl b/modules/CIAO/tests/IDL3/ImpliedIDL/Homes/Homes.idl
new file mode 100644
index 00000000000..3440458b4b2
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/Homes/Homes.idl
@@ -0,0 +1,28 @@
+// $Id$
+/**
+ * @file Homes.idl
+ * @author Will Otte <wotte@dre.vanderbilt.edu>
+ *
+ * Tests equivalent IDL semantics for Homes
+ */
+
+#include <Components.idl>
+
+module ImplicitHomes
+{
+ component Foo
+ {
+ };
+
+ home FooHome manages Foo
+ {
+ };
+ /*
+ interface test
+ {
+ FooHomeExplicit test_op ();
+ FooHomeImplicit test_op_1 ();
+ FooHome test_op_2 ();
+ };
+ */
+};
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/Homes/Homes.mpc b/modules/CIAO/tests/IDL3/ImpliedIDL/Homes/Homes.mpc
new file mode 100644
index 00000000000..bb6b96ca281
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/Homes/Homes.mpc
@@ -0,0 +1,18 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -n Homes"
+
+project(Homes_stub): ccm_stub {
+
+ sharedname = Homes_stub
+ idlflags += -Wb,stub_export_macro=HOMES_STUB_Export -Wb,stub_export_include=Homes_stub_export.h -Wb,skel_export_macro=HOMES_SVNT_Export -Wb,skel_export_include=Homes_svnt_export.h
+ dynamicflags = HOMES_STUB_BUILD_DLL
+
+ IDL_Files {
+ Homes.idl
+ }
+
+ Source_Files {
+ HomesC.cpp
+ }
+}
+
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/Homes/Homes_stub_export.h b/modules/CIAO/tests/IDL3/ImpliedIDL/Homes/Homes_stub_export.h
new file mode 100644
index 00000000000..e7ba466797c
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/Homes/Homes_stub_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl HOMES_STUB
+// ------------------------------
+#ifndef HOMES_STUB_EXPORT_H
+#define HOMES_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (HOMES_STUB_HAS_DLL)
+# define HOMES_STUB_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && HOMES_STUB_HAS_DLL */
+
+#if !defined (HOMES_STUB_HAS_DLL)
+# define HOMES_STUB_HAS_DLL 1
+#endif /* ! HOMES_STUB_HAS_DLL */
+
+#if defined (HOMES_STUB_HAS_DLL) && (HOMES_STUB_HAS_DLL == 1)
+# if defined (HOMES_STUB_BUILD_DLL)
+# define HOMES_STUB_Export ACE_Proper_Export_Flag
+# define HOMES_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define HOMES_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* HOMES_STUB_BUILD_DLL */
+# define HOMES_STUB_Export ACE_Proper_Import_Flag
+# define HOMES_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define HOMES_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* HOMES_STUB_BUILD_DLL */
+#else /* HOMES_STUB_HAS_DLL == 1 */
+# define HOMES_STUB_Export
+# define HOMES_STUB_SINGLETON_DECLARATION(T)
+# define HOMES_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* HOMES_STUB_HAS_DLL == 1 */
+
+// Set HOMES_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (HOMES_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define HOMES_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define HOMES_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !HOMES_STUB_NTRACE */
+
+#if (HOMES_STUB_NTRACE == 1)
+# define HOMES_STUB_TRACE(X)
+#else /* (HOMES_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define HOMES_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (HOMES_STUB_NTRACE == 1) */
+
+#endif /* HOMES_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/ImpliedIDL/Homes/Homes_svnt_export.h b/modules/CIAO/tests/IDL3/ImpliedIDL/Homes/Homes_svnt_export.h
new file mode 100644
index 00000000000..16fc4127d94
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/ImpliedIDL/Homes/Homes_svnt_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl HOMES_SVNT
+// ------------------------------
+#ifndef HOMES_SVNT_EXPORT_H
+#define HOMES_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (HOMES_SVNT_HAS_DLL)
+# define HOMES_SVNT_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && HOMES_SVNT_HAS_DLL */
+
+#if !defined (HOMES_SVNT_HAS_DLL)
+# define HOMES_SVNT_HAS_DLL 1
+#endif /* ! HOMES_SVNT_HAS_DLL */
+
+#if defined (HOMES_SVNT_HAS_DLL) && (HOMES_SVNT_HAS_DLL == 1)
+# if defined (HOMES_SVNT_BUILD_DLL)
+# define HOMES_SVNT_Export ACE_Proper_Export_Flag
+# define HOMES_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define HOMES_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* HOMES_SVNT_BUILD_DLL */
+# define HOMES_SVNT_Export ACE_Proper_Import_Flag
+# define HOMES_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define HOMES_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* HOMES_SVNT_BUILD_DLL */
+#else /* HOMES_SVNT_HAS_DLL == 1 */
+# define HOMES_SVNT_Export
+# define HOMES_SVNT_SINGLETON_DECLARATION(T)
+# define HOMES_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* HOMES_SVNT_HAS_DLL == 1 */
+
+// Set HOMES_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (HOMES_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define HOMES_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define HOMES_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !HOMES_SVNT_NTRACE */
+
+#if (HOMES_SVNT_NTRACE == 1)
+# define HOMES_SVNT_TRACE(X)
+#else /* (HOMES_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define HOMES_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (HOMES_SVNT_NTRACE == 1) */
+
+#endif /* HOMES_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/tests/IDL3/Lookup/README b/modules/CIAO/tests/IDL3/Lookup/README
new file mode 100644
index 00000000000..a92531070a6
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Lookup/README
@@ -0,0 +1,21 @@
+
+Lookup Test
+=======================
+
+This test is for IDL compiler handling of references using local
+names to declarations in base interfaces, components, valuetypes
+and homes, and in supported interfaces. This type of reference
+is legal IDL.
+
+The primary point of the test is that the IDL compiler outputs
+no errors in processing the IDL file, and the secondary point
+is that the generated code compiles successfully. Therefore,
+we have no need for export files, export macros, or *_BUILD_DLL
+flags.
+
+Thanks to Boris Kolpackov <boris@dre.vanderbilt.edu> for the
+original example IDL file, which has been slightly modified
+for use in this test.
+
+
+Jeff Parsons \ No newline at end of file
diff --git a/modules/CIAO/tests/IDL3/Lookup/lookup_test.idl b/modules/CIAO/tests/IDL3/Lookup/lookup_test.idl
new file mode 100644
index 00000000000..74d9b85de22
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Lookup/lookup_test.idl
@@ -0,0 +1,76 @@
+// $Id$
+/**
+ * @file lookup_test.idl
+ * @authors Boris Kolpackov <boris@dre.vanderbilt.edu>
+ * Jeff Parsons <j.parsons@vanderbilt.edu>
+ *
+ * Tests IDL compiler lookup when local names are used
+ * to reference declarations in supported interfaces,
+ * base valuetypes, base components, and base homes.
+ */
+
+
+#ifndef IDL3_LOOKUP_TEST_IDL
+#define IDL3_LOOKUP_TEST_IDL
+
+#include <Components.idl>
+
+module M
+{
+ interface IB
+ {
+ exception Ex {};
+ typedef long Foo;
+ };
+
+ interface I : IB
+ {
+ void f (in Foo bar) raises (Ex);
+ };
+
+ valuetype VB
+ {
+ typedef long Bar;
+ };
+
+ valuetype V : VB supports IB
+ {
+ void f (in Bar foo) raises (Ex);
+ };
+
+ valuetype EB
+ {
+ typedef long Bar;
+ };
+
+ valuetype E : EB supports IB
+ {
+ void f (in Bar foo) raises (Ex);
+ };
+
+ interface T
+ {
+ typedef long Bar;
+ };
+
+ component CB supports T
+ {
+ };
+
+ component C : CB
+ {
+ attribute Bar baz;
+ };
+
+ home HB supports IB manages CB
+ {
+ typedef long Bar;
+ };
+
+ home H : HB manages C
+ {
+ void f (in Bar b) raises (Ex);
+ };
+};
+
+#endif /* IDL3_LOOKUP_TEST_IDL */
diff --git a/modules/CIAO/tests/IDL3/Lookup/lookup_test.mpc b/modules/CIAO/tests/IDL3/Lookup/lookup_test.mpc
new file mode 100644
index 00000000000..d257f0ccd9b
--- /dev/null
+++ b/modules/CIAO/tests/IDL3/Lookup/lookup_test.mpc
@@ -0,0 +1,18 @@
+// $Id$
+
+project(LookupTest_stub): ccm_stub {
+
+ sharedname = LookupTest_stub
+
+ IDL_Files {
+ lookup_test.idl
+ }
+
+ Source_Files {
+ lookup_testC.cpp
+ }
+
+ Header_Files {
+ lookup_testC.h
+ }
+}