summaryrefslogtreecommitdiff
path: root/modules/CIAO/examples/BasicSP/BMClosedED
diff options
context:
space:
mode:
Diffstat (limited to 'modules/CIAO/examples/BasicSP/BMClosedED')
-rw-r--r--modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED.cidl20
-rw-r--r--modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED.idl17
-rw-r--r--modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED.mpc83
-rw-r--r--modules/CIAO/examples/BasicSP/BMClosedED/BMClosedEDEI.idl33
-rw-r--r--modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec.cpp191
-rw-r--r--modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec.h128
-rw-r--r--modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec_export.h58
-rw-r--r--modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED_stub_export.h58
-rw-r--r--modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED_svnt_export.h58
-rw-r--r--modules/CIAO/examples/BasicSP/BMClosedED/config1
10 files changed, 647 insertions, 0 deletions
diff --git a/modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED.cidl b/modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED.cidl
new file mode 100644
index 00000000000..99263030104
--- /dev/null
+++ b/modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED.cidl
@@ -0,0 +1,20 @@
+//$Id$
+
+#ifndef BMCLOSEDED_CIDL
+#define BMCLOSEDED_CIDL
+
+#include "../BasicSP.idl"
+#include "BMClosedED.idl"
+
+composition session BMClosedED_Impl
+{
+ home executor BMClosedEDHome_Exec
+ {
+ implements BasicSP::BMClosedEDHome;
+ manages BMClosedED_Exec;
+ };
+};
+
+#endif /* BMCLOSEDED_CIDL */
+
+
diff --git a/modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED.idl b/modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED.idl
new file mode 100644
index 00000000000..2fe200151fe
--- /dev/null
+++ b/modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED.idl
@@ -0,0 +1,17 @@
+//$Id$
+#include "../BasicSP.idl"
+
+module BasicSP
+{
+ component BMClosedED
+ {
+ provides ReadData dataout;
+ uses ReadData datain;
+ publishes DataAvailable out_avail;
+ consumes DataAvailable in_avail;
+ };
+
+ home BMClosedEDHome manages BMClosedED
+ {
+ };
+};
diff --git a/modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED.mpc b/modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED.mpc
new file mode 100644
index 00000000000..d08061594a0
--- /dev/null
+++ b/modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED.mpc
@@ -0,0 +1,83 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -l .. -p HUDisplay -i BMClosedED"
+// This file has been manually modified to add a second component implementation.
+
+project(BMClosedED_DnC_stub): ciao_client_dnc {
+ avoids += ace_for_tao
+ after += BasicSP_DnC_stub
+ sharedname = BMClosedED_stub
+
+ idlflags += -Wb,stub_export_macro=BMCLOSEDED_STUB_Export
+ idlflags += -Wb,stub_export_include=BMClosedED_stub_export.h
+ idlflags += -Wb,skel_export_macro=BMCLOSEDED_SVNT_Export
+ idlflags += -Wb,skel_export_include=BMClosedED_svnt_export.h
+
+ libs += BasicSP_stub
+
+ dynamicflags = BMCLOSEDED_STUB_BUILD_DLL
+
+ IDL_Files {
+ BMClosedED.idl
+ }
+
+ Source_Files {
+ BMClosedEDC.cpp
+ }
+}
+
+project(BMClosedED_DnC_svnt) : ciao_servant_dnc {
+ avoids += ace_for_tao
+ after += BasicSP_DnC_svnt BMClosedED_DnC_stub
+
+ sharedname = BMClosedED_svnt
+
+ libs += BMClosedED_stub BasicSP_stub
+ libs += BasicSP_svnt
+
+ libpaths += ..
+
+ idlflags += -Wb,export_macro=BMCLOSEDED_SVNT_Export
+ idlflags += -Wb,export_include=BMClosedED_svnt_export.h
+
+ dynamicflags = BMCLOSEDED_SVNT_BUILD_DLL
+
+ CIDL_Files {
+ BMClosedED.cidl
+ }
+
+ IDL_Files {
+ BMClosedEDE.idl
+ }
+
+ Source_Files {
+ BMClosedEDEC.cpp
+ BMClosedEDS.cpp
+ BMClosedED_svnt.cpp
+ }
+}
+
+
+project(BMClosedED_DnC_exec) : ciao_component_dnc {
+ avoids += ace_for_tao
+ after += BMClosedED_DnC_svnt
+
+ sharedname = BMClosedED_exec
+
+ libs += BMClosedED_stub BMClosedED_svnt
+ libs += BasicSP_stub BasicSP_svnt
+
+ libpaths += ..
+ idlflags += -Wb,export_macro=BMCLOSEDED_EXEC_Export
+ idlflags += -Wb,export_include=BMClosedED_exec_export.h
+
+ dynamicflags = BMCLOSEDED_EXEC_BUILD_DLL
+
+ IDL_Files {
+ BMClosedEDEI.idl
+ }
+
+ Source_Files {
+ BMClosedEDEIC.cpp
+ BMClosedED_exec.cpp
+ }
+}
diff --git a/modules/CIAO/examples/BasicSP/BMClosedED/BMClosedEDEI.idl b/modules/CIAO/examples/BasicSP/BMClosedED/BMClosedEDEI.idl
new file mode 100644
index 00000000000..a95918e6595
--- /dev/null
+++ b/modules/CIAO/examples/BasicSP/BMClosedED/BMClosedEDEI.idl
@@ -0,0 +1,33 @@
+// $Id$
+
+/**
+ * @file BMClosedEDEI.idl
+ *
+ * Definition of the GPS component implementation.
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+
+#ifndef CIAO_BMCLOSEDEDI_IDL
+#define CIAO_BMCLOSEDEDI_IDL
+
+#include "BMClosedEDE.idl"
+
+module BasicSP
+{
+ /**
+ * @interface BMClosedED_Exec
+ *
+ * The actually GPS executor inherits from both CCM_GPS and
+ * CCM_position interfaces as a monolithic implementation.
+ */
+ local interface BMClosedED_Exec :
+ CCM_BMClosedED,
+ CCM_ReadData,
+ Components::SessionComponent
+ {
+ };
+
+};
+
+#endif /* CIAO_BMCLOSEDEDI_IDL*/
diff --git a/modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec.cpp b/modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec.cpp
new file mode 100644
index 00000000000..fb92bb2ea66
--- /dev/null
+++ b/modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec.cpp
@@ -0,0 +1,191 @@
+// $Id$
+
+#include "ciao/CIAO_common.h"
+#include "BMClosedED_exec.h"
+#include "ace/SString.h"
+
+#include "ace/OS_NS_string.h"
+
+
+#define DISPLACEMENT 256
+
+/// Default constructor.
+MyImpl::BMClosedED_exec_i::BMClosedED_exec_i ()
+{
+}
+
+/// Default destructor.
+MyImpl::BMClosedED_exec_i::~BMClosedED_exec_i ()
+{
+}
+
+// Operations from HUDisplay::BMClosedED
+
+BasicSP::CCM_ReadData_ptr
+MyImpl::BMClosedED_exec_i::get_dataout ()
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return BasicSP::CCM_ReadData::_duplicate (this);
+}
+
+void
+MyImpl::BMClosedED_exec_i::push_in_avail (BasicSP::DataAvailable *)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+
+ if (CIAO::debug_level () > 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "BMClosedED - Doing computations \n"));
+
+ ACE_DEBUG ((LM_DEBUG,
+ "BMClosedED - Doing data fetch \n"));
+ }
+
+ // Refresh position
+ BasicSP::ReadData_var dat
+ = this->context_->get_connection_datain ();
+
+ if (CORBA::is_nil (dat.in ()))
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "BMClosedED - got nil from get_connection \n"));
+
+ throw CORBA::BAD_INV_ORDER ();
+ }
+
+ CORBA::String_var str =
+ dat->get_data ();
+
+ if (CIAO::debug_level () > 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "BMClosedED - Display data is [%s] \n",
+ str.in ()));
+ }
+
+ if (ACE_OS::strcmp (str.in (), "BM DEVICE DATA") == 0)
+ {
+ this->str_ = CORBA::string_dup ("BM CLOSED ED DATA");
+ }
+
+ // Notify others.
+ BasicSP::DataAvailable_var event =
+ new OBV_BasicSP::DataAvailable;
+
+ this->context_->push_out_avail (event);
+}
+
+// Operations from HUDisplay::position
+
+char *
+MyImpl::BMClosedED_exec_i::get_data ()
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::string_dup (this->str_.inout ());
+}
+
+// Operations from Components::SessionComponent
+void
+MyImpl::BMClosedED_exec_i::set_session_context (
+ Components::SessionContext_ptr ctx
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ if (CIAO::debug_level () > 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "MyImpl::BMClosedED_exec_i::set_session_context\n"));
+ }
+
+ this->context_ =
+ BasicSP::CCM_BMClosedED_Context::_narrow (ctx);
+
+ if (CORBA::is_nil (this->context_.in ()))
+ {
+ throw CORBA::INTERNAL ();
+ }
+ // Urm, we actually discard exceptions thown from this operation.
+}
+
+void
+MyImpl::BMClosedED_exec_i::ciao_preactivate ()
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+}
+
+void
+MyImpl::BMClosedED_exec_i::ccm_activate ()
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ if (CIAO::debug_level () > 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "MyImpl::BMClosedED_exec_i::ccm_activate\n"));
+ }
+
+}
+
+void
+MyImpl::BMClosedED_exec_i::ciao_postactivate ()
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+}
+
+void
+MyImpl::BMClosedED_exec_i::ccm_passivate ()
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ // if (CIAO::debug_level () > 0)
+ ACE_DEBUG ((LM_DEBUG,
+ "MyImpl::BMClosedED_exec_i::ccm_passivate\n"));
+}
+
+void
+MyImpl::BMClosedED_exec_i::ccm_remove ()
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ // if (CIAO::debug_level () > 0)
+ ACE_DEBUG ((LM_DEBUG,
+ "MyImpl::BMClosedED_exec_i::ccm_remove\n"));
+}
+
+/// Default ctor.
+MyImpl::BMClosedEDHome_exec_i::BMClosedEDHome_exec_i ()
+{
+}
+
+/// Default dtor.
+MyImpl::BMClosedEDHome_exec_i::~BMClosedEDHome_exec_i ()
+{
+}
+
+// Explicit home operations.
+
+// Implicit home operations.
+
+::Components::EnterpriseComponent_ptr
+MyImpl::BMClosedEDHome_exec_i::create ()
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ Components::EnterpriseComponent_ptr tmp =
+ Components::EnterpriseComponent::_nil ();
+ ACE_NEW_THROW_EX (tmp,
+ MyImpl::BMClosedED_exec_i,
+ CORBA::NO_MEMORY ());
+ return tmp;
+}
+
+
+extern "C" BMCLOSEDED_EXEC_Export ::Components::HomeExecutorBase_ptr
+createBMClosedEDHome_Impl (void)
+{
+ return new MyImpl::BMClosedEDHome_exec_i;
+}
diff --git a/modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec.h b/modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec.h
new file mode 100644
index 00000000000..c6f9c0ff1fe
--- /dev/null
+++ b/modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec.h
@@ -0,0 +1,128 @@
+// $Id$
+
+//================================================================
+/**
+ * @file BMClosedED_exec.h
+ *
+ * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
+ */
+//================================================================
+
+#ifndef CIAO_BMCLOSED_EXEC_H
+#define CIAO_BMCLOSED_EXEC_H
+
+#include "BMClosedEDEIC.h"
+#include "tao/LocalObject.h"
+
+// The namespace name for the actual implementation classes doesn't
+// really matter. Since there may be several different
+// implementations for a component, they can very well be in different
+// namespaces.
+namespace MyImpl
+{
+ /**
+ * @class BMClosedED_exec_i
+ *
+ * An example RateGen executor implementation class.
+ */
+ class BMCLOSEDED_EXEC_Export BMClosedED_exec_i :
+ public virtual BasicSP::BMClosedED_Exec,
+ // CIAO container implementation depends on correct reference
+ // counting of local interfaces, so we take a short cut to
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ /// Default constructor.
+ BMClosedED_exec_i (void);
+
+ /// Default destructor.
+ ~BMClosedED_exec_i (void);
+
+ // Operations from HUDisplay::BMClosedED
+
+ virtual BasicSP::CCM_ReadData_ptr
+ get_dataout ()
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void
+ push_in_avail (BasicSP::DataAvailable *ev)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Operations from HUDisplay::position
+ virtual char *
+ get_data ()
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Operations from Components::SessionComponent
+
+ virtual void
+ set_session_context (Components::SessionContext_ptr ctx)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void
+ ciao_preactivate ()
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void
+ ccm_activate ()
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void
+ ciao_postactivate ()
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+
+ virtual void
+ ccm_passivate ()
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void
+ ccm_remove ()
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+ protected:
+ CORBA::String_var str_;
+
+ /// Copmponent specific context
+ BasicSP::CCM_BMClosedED_Context_var context_;
+ };
+
+ /**
+ * @class BMClosedEDHome_exec_i
+ *
+ * BMClosedED home executor implementation class.
+ */
+ class BMCLOSEDED_EXEC_Export BMClosedEDHome_exec_i :
+ public virtual BasicSP::CCM_BMClosedEDHome,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ /// Default ctor.
+ BMClosedEDHome_exec_i ();
+
+ /// Default dtor.
+ ~BMClosedEDHome_exec_i ();
+
+ // Explicit home operations.
+
+ // Implicit home operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create ()
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+ };
+
+}
+
+// Executor DLL entry point. CIAO's deployment and assembly framework
+// invokes this function on the resulting DLL to get the home executor.
+extern "C" BMCLOSEDED_EXEC_Export ::Components::HomeExecutorBase_ptr
+createBMClosedEDHome_Impl (void);
+
+#endif /* CIAO_BMCLOSED_EXEC_H*/
diff --git a/modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec_export.h b/modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec_export.h
new file mode 100644
index 00000000000..90b64e5262d
--- /dev/null
+++ b/modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl -s BMCLOSEDED_EXEC
+// ------------------------------
+#ifndef BMCLOSEDED_EXEC_EXPORT_H
+#define BMCLOSEDED_EXEC_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (BMCLOSEDED_EXEC_HAS_DLL)
+# define BMCLOSEDED_EXEC_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && BMCLOSEDED_EXEC_HAS_DLL */
+
+#if !defined (BMCLOSEDED_EXEC_HAS_DLL)
+# define BMCLOSEDED_EXEC_HAS_DLL 1
+#endif /* ! BMCLOSEDED_EXEC_HAS_DLL */
+
+#if defined (BMCLOSEDED_EXEC_HAS_DLL) && (BMCLOSEDED_EXEC_HAS_DLL == 1)
+# if defined (BMCLOSEDED_EXEC_BUILD_DLL)
+# define BMCLOSEDED_EXEC_Export ACE_Proper_Export_Flag
+# define BMCLOSEDED_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define BMCLOSEDED_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* BMCLOSEDED_EXEC_BUILD_DLL */
+# define BMCLOSEDED_EXEC_Export ACE_Proper_Import_Flag
+# define BMCLOSEDED_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define BMCLOSEDED_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* BMCLOSEDED_EXEC_BUILD_DLL */
+#else /* BMCLOSEDED_EXEC_HAS_DLL == 1 */
+# define BMCLOSEDED_EXEC_Export
+# define BMCLOSEDED_EXEC_SINGLETON_DECLARATION(T)
+# define BMCLOSEDED_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* BMCLOSEDED_EXEC_HAS_DLL == 1 */
+
+// Set BMCLOSEDED_EXEC_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (BMCLOSEDED_EXEC_NTRACE)
+# if (ACE_NTRACE == 1)
+# define BMCLOSEDED_EXEC_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define BMCLOSEDED_EXEC_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !BMCLOSEDED_EXEC_NTRACE */
+
+#if (BMCLOSEDED_EXEC_NTRACE == 1)
+# define BMCLOSEDED_EXEC_TRACE(X)
+#else /* (BMCLOSEDED_EXEC_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define BMCLOSEDED_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (BMCLOSEDED_EXEC_NTRACE == 1) */
+
+#endif /* BMCLOSEDED_EXEC_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED_stub_export.h b/modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED_stub_export.h
new file mode 100644
index 00000000000..cf7d2418b52
--- /dev/null
+++ b/modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED_stub_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl -s BMCLOSEDED_STUB
+// ------------------------------
+#ifndef BMCLOSEDED_STUB_EXPORT_H
+#define BMCLOSEDED_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (BMCLOSEDED_STUB_HAS_DLL)
+# define BMCLOSEDED_STUB_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && BMCLOSEDED_STUB_HAS_DLL */
+
+#if !defined (BMCLOSEDED_STUB_HAS_DLL)
+# define BMCLOSEDED_STUB_HAS_DLL 1
+#endif /* ! BMCLOSEDED_STUB_HAS_DLL */
+
+#if defined (BMCLOSEDED_STUB_HAS_DLL) && (BMCLOSEDED_STUB_HAS_DLL == 1)
+# if defined (BMCLOSEDED_STUB_BUILD_DLL)
+# define BMCLOSEDED_STUB_Export ACE_Proper_Export_Flag
+# define BMCLOSEDED_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define BMCLOSEDED_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* BMCLOSEDED_STUB_BUILD_DLL */
+# define BMCLOSEDED_STUB_Export ACE_Proper_Import_Flag
+# define BMCLOSEDED_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define BMCLOSEDED_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* BMCLOSEDED_STUB_BUILD_DLL */
+#else /* BMCLOSEDED_STUB_HAS_DLL == 1 */
+# define BMCLOSEDED_STUB_Export
+# define BMCLOSEDED_STUB_SINGLETON_DECLARATION(T)
+# define BMCLOSEDED_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* BMCLOSEDED_STUB_HAS_DLL == 1 */
+
+// Set BMCLOSEDED_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (BMCLOSEDED_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define BMCLOSEDED_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define BMCLOSEDED_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !BMCLOSEDED_STUB_NTRACE */
+
+#if (BMCLOSEDED_STUB_NTRACE == 1)
+# define BMCLOSEDED_STUB_TRACE(X)
+#else /* (BMCLOSEDED_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define BMCLOSEDED_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (BMCLOSEDED_STUB_NTRACE == 1) */
+
+#endif /* BMCLOSEDED_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED_svnt_export.h b/modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED_svnt_export.h
new file mode 100644
index 00000000000..f0bb1407c79
--- /dev/null
+++ b/modules/CIAO/examples/BasicSP/BMClosedED/BMClosedED_svnt_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl -s BMCLOSEDED_SVNT
+// ------------------------------
+#ifndef BMCLOSEDED_SVNT_EXPORT_H
+#define BMCLOSEDED_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (BMCLOSEDED_SVNT_HAS_DLL)
+# define BMCLOSEDED_SVNT_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && BMCLOSEDED_SVNT_HAS_DLL */
+
+#if !defined (BMCLOSEDED_SVNT_HAS_DLL)
+# define BMCLOSEDED_SVNT_HAS_DLL 1
+#endif /* ! BMCLOSEDED_SVNT_HAS_DLL */
+
+#if defined (BMCLOSEDED_SVNT_HAS_DLL) && (BMCLOSEDED_SVNT_HAS_DLL == 1)
+# if defined (BMCLOSEDED_SVNT_BUILD_DLL)
+# define BMCLOSEDED_SVNT_Export ACE_Proper_Export_Flag
+# define BMCLOSEDED_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define BMCLOSEDED_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* BMCLOSEDED_SVNT_BUILD_DLL */
+# define BMCLOSEDED_SVNT_Export ACE_Proper_Import_Flag
+# define BMCLOSEDED_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define BMCLOSEDED_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* BMCLOSEDED_SVNT_BUILD_DLL */
+#else /* BMCLOSEDED_SVNT_HAS_DLL == 1 */
+# define BMCLOSEDED_SVNT_Export
+# define BMCLOSEDED_SVNT_SINGLETON_DECLARATION(T)
+# define BMCLOSEDED_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* BMCLOSEDED_SVNT_HAS_DLL == 1 */
+
+// Set BMCLOSEDED_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (BMCLOSEDED_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define BMCLOSEDED_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define BMCLOSEDED_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !BMCLOSEDED_SVNT_NTRACE */
+
+#if (BMCLOSEDED_SVNT_NTRACE == 1)
+# define BMCLOSEDED_SVNT_TRACE(X)
+#else /* (BMCLOSEDED_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define BMCLOSEDED_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (BMCLOSEDED_SVNT_NTRACE == 1) */
+
+#endif /* BMCLOSEDED_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/examples/BasicSP/BMClosedED/config b/modules/CIAO/examples/BasicSP/BMClosedED/config
new file mode 100644
index 00000000000..a122025755d
--- /dev/null
+++ b/modules/CIAO/examples/BasicSP/BMClosedED/config
@@ -0,0 +1 @@
+BMClosedED_exec|createBMClosedEDHome_Impl|BMClosedED_svnt|createBMClosedEDHome_Servant