summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-05-30 17:32:38 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-05-30 17:32:38 +0000
commitb60e49fa0f8bb2b1935b83bf7cb78e8171c7b0f3 (patch)
tree2ad15686f7940f0b37c8fe823eb74fd2d6665c40
parent98f0ed7444d77cb92bc1571b002c9df7faae879e (diff)
downloadATCD-b60e49fa0f8bb2b1935b83bf7cb78e8171c7b0f3.tar.gz
ChangeLogTag: Fri May 30 12:29:37 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--TAO/CIAO/ChangeLog81
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED.cidl19
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED.idl17
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedEDEI.idl33
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.cpp149
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.dsp176
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.h119
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_stub.dsp170
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_stub_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_svnt.dsp219
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_svnt_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMClosedED/config1
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice.cidl19
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice.idl30
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDeviceEI.idl30
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec.cpp125
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec.dsp200
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec.h122
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_stub.dsp170
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_stub_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_svnt.dsp219
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_svnt_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDevice/config1
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay.cidl18
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay.idl15
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplayEI.idl33
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.cpp135
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.dsp176
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.h102
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_stub.dsp170
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_stub_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_svnt.dsp219
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_svnt_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDisplay/config1
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BasicSP.dsw266
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BasicSP.idl47
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BasicSP.mpc29
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BasicSP_stub.dsp178
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BasicSP_stub_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BasicSP_svnt.dsp109
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BasicSP_svnt_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/EC.cidl21
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/EC.idl41
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/ECEI.idl32
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/EC_client.dsp166
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec.cpp279
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec.dsp184
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec.h182
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/EC_stub.dsp178
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/EC_stub_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/EC_svnt.dsp227
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/EC_svnt_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/README9
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/client.cpp72
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/config1
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/controller.cpp125
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/controller.dsp166
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/NOTE.txt135
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/README16
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/descriptors/BMClosedED.csd45
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/descriptors/BMClosedED.ssd43
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDevice.csd46
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDevice.ssd43
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDisplay.csd46
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDisplay.ssd43
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/descriptors/BasicSP.cad109
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/descriptors/CIAO_Installation_Data.ini9
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/descriptors/EC.csd46
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/descriptors/EC.ssd43
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/descriptors/daemon.ior1
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/descriptors/ec.ior1
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/descriptors/test.dat2
76 files changed, 6409 insertions, 0 deletions
diff --git a/TAO/CIAO/ChangeLog b/TAO/CIAO/ChangeLog
index 1e3b5fb877d..ce3c32e43bb 100644
--- a/TAO/CIAO/ChangeLog
+++ b/TAO/CIAO/ChangeLog
@@ -1,3 +1,84 @@
+Fri May 30 12:29:37 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * examples/OEP/BasicSP/BasicSP.dsw:
+ * examples/OEP/BasicSP/BasicSP.idl:
+ * examples/OEP/BasicSP/BasicSP.mpc:
+ * examples/OEP/BasicSP/BasicSP_stub.dsp:
+ * examples/OEP/BasicSP/BasicSP_stub_export.h:
+ * examples/OEP/BasicSP/BasicSP_svnt.dsp:
+ * examples/OEP/BasicSP/BasicSP_svnt_export.h:
+ * examples/OEP/BasicSP/NOTE.txt:
+ * examples/OEP/BasicSP/README:
+ * examples/OEP/BasicSP/BMClosedED/BMClosedED.cidl:
+ * examples/OEP/BasicSP/BMClosedED/BMClosedED.idl:
+ * examples/OEP/BasicSP/BMClosedED/BMClosedEDEI.idl:
+ * examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.cpp:
+ * examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.dsp:
+ * examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.h:
+ * examples/OEP/BasicSP/BMClosedED/BMClosedED_exec_export.h:
+ * examples/OEP/BasicSP/BMClosedED/BMClosedED_stub.dsp:
+ * examples/OEP/BasicSP/BMClosedED/BMClosedED_stub_export.h:
+ * examples/OEP/BasicSP/BMClosedED/BMClosedED_svnt.dsp:
+ * examples/OEP/BasicSP/BMClosedED/BMClosedED_svnt_export.h:
+ * examples/OEP/BasicSP/BMClosedED/config:
+ * examples/OEP/BasicSP/BMDevice/BMDevice.cidl:
+ * examples/OEP/BasicSP/BMDevice/BMDevice.idl:
+ * examples/OEP/BasicSP/BMDevice/BMDeviceEI.idl:
+ * examples/OEP/BasicSP/BMDevice/BMDevice_exec.cpp:
+ * examples/OEP/BasicSP/BMDevice/BMDevice_exec.dsp:
+ * examples/OEP/BasicSP/BMDevice/BMDevice_exec.h:
+ * examples/OEP/BasicSP/BMDevice/BMDevice_exec_export.h:
+ * examples/OEP/BasicSP/BMDevice/BMDevice_stub.dsp:
+ * examples/OEP/BasicSP/BMDevice/BMDevice_stub_export.h:
+ * examples/OEP/BasicSP/BMDevice/BMDevice_svnt.dsp:
+ * examples/OEP/BasicSP/BMDevice/BMDevice_svnt_export.h:
+ * examples/OEP/BasicSP/BMDevice/config:
+ * examples/OEP/BasicSP/BMDisplay/BMDisplay.cidl:
+ * examples/OEP/BasicSP/BMDisplay/BMDisplay.idl:
+ * examples/OEP/BasicSP/BMDisplay/BMDisplayEI.idl:
+ * examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.cpp:
+ * examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.dsp:
+ * examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.h:
+ * examples/OEP/BasicSP/BMDisplay/BMDisplay_exec_export.h:
+ * examples/OEP/BasicSP/BMDisplay/BMDisplay_stub.dsp:
+ * examples/OEP/BasicSP/BMDisplay/BMDisplay_stub_export.h:
+ * examples/OEP/BasicSP/BMDisplay/BMDisplay_svnt.dsp:
+ * examples/OEP/BasicSP/BMDisplay/BMDisplay_svnt_export.h:
+ * examples/OEP/BasicSP/BMDisplay/config:
+ * examples/OEP/BasicSP/EC/EC.cidl:
+ * examples/OEP/BasicSP/EC/EC.idl:
+ * examples/OEP/BasicSP/EC/ECEI.idl:
+ * examples/OEP/BasicSP/EC/EC_client.dsp:
+ * examples/OEP/BasicSP/EC/EC_exec.cpp:
+ * examples/OEP/BasicSP/EC/EC_exec.dsp:
+ * examples/OEP/BasicSP/EC/EC_exec.h:
+ * examples/OEP/BasicSP/EC/EC_exec_export.h:
+ * examples/OEP/BasicSP/EC/EC_stub.dsp:
+ * examples/OEP/BasicSP/EC/EC_stub_export.h:
+ * examples/OEP/BasicSP/EC/EC_svnt.dsp:
+ * examples/OEP/BasicSP/EC/EC_svnt_export.h:
+ * examples/OEP/BasicSP/EC/README:
+ * examples/OEP/BasicSP/EC/client.cpp:
+ * examples/OEP/BasicSP/EC/config:
+ * examples/OEP/BasicSP/EC/controller.cpp:
+ * examples/OEP/BasicSP/EC/controller.dsp:
+ * examples/OEP/BasicSP/descriptors/BMClosedED.csd:
+ * examples/OEP/BasicSP/descriptors/BMClosedED.ssd:
+ * examples/OEP/BasicSP/descriptors/BMDevice.csd:
+ * examples/OEP/BasicSP/descriptors/BMDevice.ssd:
+ * examples/OEP/BasicSP/descriptors/BMDisplay.csd:
+ * examples/OEP/BasicSP/descriptors/BMDisplay.ssd:
+ * examples/OEP/BasicSP/descriptors/BasicSP.cad:
+ * examples/OEP/BasicSP/descriptors/CIAO_Installation_Data.ini:
+ * examples/OEP/BasicSP/descriptors/EC.csd:
+ * examples/OEP/BasicSP/descriptors/EC.ssd:
+ * examples/OEP/BasicSP/descriptors/daemon.ior:
+ * examples/OEP/BasicSP/descriptors/ec.ior:
+ * examples/OEP/BasicSP/descriptors/test.dat:
+
+ New example, same as the one in examples/handcrafted/BasicSP,
+ but using CIDL compiler generated code.
+
Thu May 29 22:25:09 2003 Krishnakumar B <kitty@spam.invalid.domain>
* docs/XML/componentassembly.dtd:
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED.cidl b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED.cidl
new file mode 100644
index 00000000000..c241c806a34
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED.cidl
@@ -0,0 +1,19 @@
+//$Id$
+
+#ifndef BMCLOSEDED_CIDL
+#define BMCLOSEDED_CIDL
+
+#include "BMClosedED.idl"
+
+composition session BMClosedED_Impl
+{
+ home executor BMClosedEDHome_Exec
+ {
+ implements BasicSP::BMClosedEDHome;
+ manages BMClosedED_Exec;
+ };
+};
+
+#endif /* BMCLOSEDED_CIDL */
+
+
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED.idl b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED.idl
new file mode 100644
index 00000000000..2fe200151fe
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/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/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedEDEI.idl b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedEDEI.idl
new file mode 100644
index 00000000000..a95918e6595
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/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/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.cpp b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.cpp
new file mode 100644
index 00000000000..ac80e1b9fb1
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.cpp
@@ -0,0 +1,149 @@
+// $Id$
+
+#include "BMClosedED_exec.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_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return BasicSP::CCM_ReadData::_duplicate (this);
+}
+
+void
+MyImpl::BMClosedED_exec_i::push_in_avail (BasicSP::DataAvailable *
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+
+ 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 (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ if (CORBA::is_nil (dat.in ()))
+ {
+ ACE_THROW (CORBA::BAD_INV_ORDER ());
+ }
+
+ char *str =
+ dat->get_data (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG,
+ "BMClosedED - Display data is [%s] \n",
+ str));
+
+ if (ACE_OS::strcmp (str, "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
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+// Operations from HUDisplay::position
+
+char *
+MyImpl::BMClosedED_exec_i::get_data (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->str_.inout ();
+}
+
+// Operations from Components::SessionComponent
+void
+MyImpl::BMClosedED_exec_i::set_session_context (Components::SessionContext_ptr ctx
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::BMClosedED_exec_i::set_session_context\n"));
+
+ this->context_ =
+ BasicSP::CCM_BMClosedED_Context::_narrow (ctx
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ if (CORBA::is_nil (this->context_.in ()))
+ ACE_THROW (CORBA::INTERNAL ());
+ // Urm, we actually discard exceptions thown from this operation.
+}
+
+void
+MyImpl::BMClosedED_exec_i::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::BMClosedED_exec_i::ccm_activate\n"));
+}
+
+void
+MyImpl::BMClosedED_exec_i::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::BMClosedED_exec_i::ccm_passivate\n"));
+}
+
+void
+MyImpl::BMClosedED_exec_i::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ 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_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ return new MyImpl::BMClosedED_exec_i;
+}
+
+
+extern "C" BMCLOSEDED_EXEC_Export ::Components::HomeExecutorBase_ptr
+createBMClosedEDHome_Impl (void)
+{
+ return new MyImpl::BMClosedEDHome_exec_i;
+}
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.dsp b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.dsp
new file mode 100644
index 00000000000..36b7c262a0f
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.dsp
@@ -0,0 +1,176 @@
+# Microsoft Developer Studio Project File - Name="BMClosedED_exec DLL" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=BMClosedED_exec DLL - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE run the tool that generated this project file and specify the
+!MESSAGE nmake output type. You can then use the following command:
+!MESSAGE
+!MESSAGE NMAKE /f "BMClosedED_exec.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "BMClosedED_exec.mak" CFG="BMClosedED_exec DLL - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "BMClosedED_exec DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "BMClosedED_exec DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "BMClosedED_exec DLL - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Release\BMClosedED_exec"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /W3 /GX /O2 /MD /Zi /GR /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMCLOSEDED_EXEC_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD RSC /l 0x409 /d NDEBUG=1 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.."
+BSC32=bscmake.exe
+# ADD BSC32 /nologo /o".\BMClosedED_exec.bsc"
+LINK32=link.exe
+# ADD LINK32 advapi32.lib user32.lib /INCREMENTAL:NO BMClosedED_stub.lib BMClosedED_svnt.lib BasicSP_stub.lib BasicSP_svnt.lib CIAO_Server.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Security.lib CIAO_Container.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /nologo /version:1.3.1 /subsystem:windows /pdb:"..\..\..\..\..\..\bin\BMClosedED_exec.pdb" /dll /machine:I386 /out:"..\..\..\..\..\..\bin\BMClosedED_exec.dll"
+
+!ELSEIF "$(CFG)" == "BMClosedED_exec DLL - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Debug\BMClosedED_exec"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /W3 /Gm /GX /Zi /Od /MDd /GR /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMCLOSEDED_EXEC_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /Fr /YX
+# ADD RSC /l 0x409 /d _DEBUG=1 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.."
+BSC32=bscmake.exe
+# ADD BSC32 /nologo /o".\BMClosedED_exec.bsc"
+LINK32=link.exe
+# ADD LINK32 advapi32.lib user32.lib /INCREMENTAL:NO BMClosedED_stubd.lib BMClosedED_svntd.lib BasicSP_stubd.lib BasicSP_svntd.lib CIAO_Serverd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Securityd.lib CIAO_Containerd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /nologo /version:1.3.1 /subsystem:windows /pdb:"..\..\..\..\..\..\bin\BMClosedED_execd.pdb" /dll /debug /machine:I386 /out:"..\..\..\..\..\..\bin\BMClosedED_execd.dll"
+
+!ENDIF
+
+# Begin Target
+
+# Name "BMClosedED_exec DLL - Win32 Release"
+# Name "BMClosedED_exec DLL - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=.\BMClosedED_exec.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMClosedEDEIC.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hh"
+# Begin Source File
+
+SOURCE=.\BMClosedED_exec.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMClosedEDEIC.h
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i;inl"
+# Begin Source File
+
+SOURCE=.\BMClosedEDEIC.i
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl"
+# Begin Source File
+
+SOURCE=.\BMClosedEDEI.idl
+
+!IF "$(CFG)" == "BMClosedED_exec DLL - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=.\BMClosedEDEI.idl
+InputName=BMClosedEDEI
+InputDir=.
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=BMCLOSEDED_EXEC_Export -Wb,export_include=BMClosedED_exec_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "BMClosedED_exec DLL - Win32 Debug"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=.\BMClosedEDEI.idl
+InputName=BMClosedEDEI
+InputDir=.
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=BMCLOSEDED_EXEC_Export -Wb,export_include=BMClosedED_exec_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.h b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.h
new file mode 100644
index 00000000000..870ca679dfe
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.h
@@ -0,0 +1,119 @@
+// $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_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void
+ push_in_avail (BasicSP::DataAvailable *ev
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Operations from HUDisplay::position
+ virtual char *
+ get_data (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Operations from Components::SessionComponent
+
+ virtual void
+ set_session_context (Components::SessionContext_ptr ctx
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void
+ ccm_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void
+ ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void
+ ccm_remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ 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_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ 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/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec_export.h b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec_export.h
new file mode 100644
index 00000000000..b2d7ae01e02
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec_export.h
@@ -0,0 +1,50 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl BMCLOSEDED_EXEC
+// ------------------------------
+#ifndef BMCLOSEDED_EXEC_EXPORT_H
+#define BMCLOSEDED_EXEC_EXPORT_H
+
+#include "ace/config-all.h"
+
+#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) */
+# define BMCLOSEDED_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
+#endif /* (BMCLOSEDED_EXEC_NTRACE == 1) */
+
+#endif /* BMCLOSEDED_EXEC_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_stub.dsp b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_stub.dsp
new file mode 100644
index 00000000000..90dd1043cef
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_stub.dsp
@@ -0,0 +1,170 @@
+# Microsoft Developer Studio Project File - Name="BMClosedED_stub DLL" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=BMClosedED_stub DLL - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "BMClosedED_stub.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "BMClosedED_stub.mak" CFG="BMClosedED_stub DLL - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "BMClosedED_stub DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "BMClosedED_stub DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "BMClosedED_stub DLL - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Release\BMClosedED_stub"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMCLOSEDED_STUB_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\BMClosedED_stub.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\BMClosedED_stub.dll" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF "$(CFG)" == "BMClosedED_stub DLL - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Debug\BMClosedED_stub"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMCLOSEDED_STUB_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /Fr /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib TAOd.lib TAO_Securityd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\BMClosedED_stubd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\BMClosedED_stubd.dll" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "BMClosedED_stub DLL - Win32 Release"
+# Name "BMClosedED_stub DLL - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=.\BMClosedEDC.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hh"
+# Begin Source File
+
+SOURCE=.\BMClosedEDC.h
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i;inl"
+# Begin Source File
+
+SOURCE=.\BMClosedEDC.i
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl"
+# Begin Source File
+
+SOURCE=.\BMClosedED.idl
+
+!IF "$(CFG)" == "BMClosedED_stub DLL - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=.\BMClosedED.idl
+InputName=BMClosedED
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=BMCLOSEDED_STUB_Export -Wb,stub_export_include=BMClosedED_stub_export.h -Wb,skel_export_macro=BMCLOSEDED_SVNT_Export -Wb,skel_export_include=BMClosedED_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "BMClosedED_stub DLL - Win32 Debug"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=.\BMClosedED.idl
+InputName=BMClosedED
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=BMCLOSEDED_STUB_Export -Wb,stub_export_include=BMClosedED_stub_export.h -Wb,skel_export_macro=BMCLOSEDED_SVNT_Export -Wb,skel_export_include=BMClosedED_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\ciao -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_stub_export.h b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_stub_export.h
new file mode 100644
index 00000000000..a2511681640
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_stub_export.h
@@ -0,0 +1,50 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl BMCLOSEDED_STUB
+// ------------------------------
+#ifndef BMCLOSEDED_STUB_EXPORT_H
+#define BMCLOSEDED_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#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) */
+# define BMCLOSEDED_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+#endif /* (BMCLOSEDED_STUB_NTRACE == 1) */
+
+#endif /* BMCLOSEDED_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_svnt.dsp b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_svnt.dsp
new file mode 100644
index 00000000000..55a9648a702
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_svnt.dsp
@@ -0,0 +1,219 @@
+# Microsoft Developer Studio Project File - Name="BMClosedED_svnt DLL" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=BMClosedED_svnt DLL - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "BMClosedED_svnt.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "BMClosedED_svnt.mak" CFG="BMClosedED_svnt DLL - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "BMClosedED_svnt DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "BMClosedED_svnt DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "BMClosedED_svnt DLL - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Release\BMClosedED_svnt"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMCLOSEDED_SVNT_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib BMClosedED_stub.lib BasicSP_stub.lib BasicSP_svnt.lib CIAO_Server.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Security.lib CIAO_Container.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\BMClosedED_svnt.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\BMClosedED_svnt.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF "$(CFG)" == "BMClosedED_svnt DLL - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Debug\BMClosedED_svnt"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMCLOSEDED_SVNT_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /Fr /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib BMClosedED_stubd.lib BasicSP_stubd.lib BasicSP_svntd.lib CIAO_Serverd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Securityd.lib CIAO_Containerd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\BMClosedED_svntd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\BMClosedED_svntd.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "BMClosedED_svnt DLL - Win32 Release"
+# Name "BMClosedED_svnt DLL - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=.\BMClosedED_svnt.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMClosedEDEC.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMClosedEDS.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hh"
+# Begin Source File
+
+SOURCE=.\BMClosedED_svnt.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMClosedEDEC.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMClosedEDS.h
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i;inl"
+# Begin Source File
+
+SOURCE=.\BMClosedEDEC.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMClosedEDS.i
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl"
+# Begin Source File
+
+SOURCE=.\BMClosedED.cidl
+
+!IF "$(CFG)" == "BMClosedED_svnt DLL - Win32 Release"
+
+!ELSEIF "$(CFG)" == "BMClosedED_svnt DLL - Win32 Debug"
+
+USERDEP__BMCLO="..\..\..\..\..\..\bin\cidlc.exe"
+# Begin Custom Build - Invoking CIAO CIDL Compiler on $(InputPath)
+InputPath=.\BMClosedED.cidl
+InputName=BMClosedED
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\cidlc --lem-file-suffix "E.idl" -- $(InputName).cidl
+
+"$(InputName)E.idl" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)_svnt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)_svnt.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMClosedEDE.idl
+
+!IF "$(CFG)" == "BMClosedED_svnt DLL - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=.\BMClosedEDE.idl
+InputName=BMClosedEDE
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=BMCLOSEDED_SVNT_Export -Wb,export_include=BMClosedED_svnt_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "BMClosedED_svnt DLL - Win32 Debug"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=.\BMClosedEDE.idl
+InputName=BMClosedEDE
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=BMCLOSEDED_SVNT_Export -Wb,export_include=BMClosedED_svnt_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_svnt_export.h b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_svnt_export.h
new file mode 100644
index 00000000000..bcabbe1023e
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_svnt_export.h
@@ -0,0 +1,50 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl BMCLOSEDED_SVNT
+// ------------------------------
+#ifndef BMCLOSEDED_SVNT_EXPORT_H
+#define BMCLOSEDED_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#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) */
+# define BMCLOSEDED_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+#endif /* (BMCLOSEDED_SVNT_NTRACE == 1) */
+
+#endif /* BMCLOSEDED_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/config b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/config
new file mode 100644
index 00000000000..a122025755d
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/config
@@ -0,0 +1 @@
+BMClosedED_exec|createBMClosedEDHome_Impl|BMClosedED_svnt|createBMClosedEDHome_Servant
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice.cidl b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice.cidl
new file mode 100644
index 00000000000..30026cf8c13
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice.cidl
@@ -0,0 +1,19 @@
+//$Id$
+
+#ifndef BMDEVICE_CIDL
+#define BMDEVICE_CIDL
+
+#include "BMDevice.idl"
+
+composition session BMDevice_Impl
+{
+ home executor BMDeviceHome_Exec
+ {
+ implements BasicSP::BMDeviceHome;
+ manages BMDevice_Exec;
+ };
+};
+
+#endif /* BMDEVICE_CIDL */
+
+
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice.idl b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice.idl
new file mode 100644
index 00000000000..86477c12f8b
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice.idl
@@ -0,0 +1,30 @@
+//$Id$
+//=============================================================================
+/**
+ * @file BMDevice.idl
+ *
+ * Definition of the BMDevice component
+ *
+ * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
+ */
+//=============================================================================
+#ifndef CIAO_BMDEVICE_IDL
+#define CIAO_BMDEVICE_IDL
+
+#include "../BasicSP.idl"
+
+module BasicSP
+{
+ component BMDevice
+ {
+ provides ReadData data_read;
+ publishes DataAvailable data_available;
+ consumes TimeOut timeout;
+ };
+
+ home BMDeviceHome manages BMDevice
+ {
+ };
+};
+
+#endif /*CIAO_BMDEVICE_IDL */
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDeviceEI.idl b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDeviceEI.idl
new file mode 100644
index 00000000000..18a4ad9eaa4
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDeviceEI.idl
@@ -0,0 +1,30 @@
+// $Id$
+//=============================================================================
+/**
+ * @file BMDeviceEI.idl
+ *
+ * Definition of the BMDevice component implementation.
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+#ifndef CIAO_BMDEVICEEI_IDL
+#define CIAO_BMDEVICEEI_IDL
+
+#include "BMDeviceE.idl"
+
+module BasicSP
+{
+ /**
+ * @interface BMDevice_Exec
+ */
+ local interface BMDevice_Exec :
+ CCM_BMDevice,
+ CCM_ReadData,
+ Components::SessionComponent
+ {
+ };
+
+};
+
+#endif /* CIAO_BMDEVICEEI_IDL */
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec.cpp b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec.cpp
new file mode 100644
index 00000000000..77b66a9cb11
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec.cpp
@@ -0,0 +1,125 @@
+// $Id$
+
+#include "BMDevice_exec.h"
+
+#define DISPLACEMENT 256
+
+/// Default constructor.
+MyImpl::BMDevice_exec_i::BMDevice_exec_i (void)
+ : str_ ("BM DEVICE DATA")
+{
+
+}
+
+/// Default destructor.
+MyImpl::BMDevice_exec_i::~BMDevice_exec_i ()
+{
+}
+
+BasicSP::CCM_ReadData_ptr
+MyImpl::BMDevice_exec_i::get_data_read (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return BasicSP::CCM_ReadData::_duplicate (this);
+}
+
+void
+MyImpl::BMDevice_exec_i::push_timeout (BasicSP::TimeOut *
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Nitify others
+ BasicSP::DataAvailable_var event = new OBV_BasicSP::DataAvailable;
+
+ ACE_DEBUG ((LM_DEBUG,
+ "BMDevice, received a timeout from EC \n"));
+
+ this->context_->push_data_available (event
+ ACE_ENV_ARG_PARAMETER);
+}
+
+char *
+MyImpl::BMDevice_exec_i::data_read (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->str_;
+}
+
+char *
+MyImpl::BMDevice_exec_i::get_data (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->data_read (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+// Operations from Components::SessionComponent
+void
+MyImpl::BMDevice_exec_i::set_session_context (Components::SessionContext_ptr ctx
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::BMDevice_exec_i::set_session_context\n"));
+
+ this->context_ =
+ BasicSP::CCM_BMDevice_Context::_narrow (ctx
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ if (CORBA::is_nil (this->context_.in ()))
+ ACE_THROW (CORBA::INTERNAL ());
+ // Urm, we actually discard exceptions thown from this operation.
+}
+
+void
+MyImpl::BMDevice_exec_i::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::BMDevice_exec_i::ccm_activate\n"));
+}
+
+void
+MyImpl::BMDevice_exec_i::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::BMDevice_exec_i::ccm_passivate\n"));
+}
+
+void
+MyImpl::BMDevice_exec_i::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::BMDevice_exec_i::ccm_remove\n"));
+}
+
+/// Default ctor.
+MyImpl::BMDeviceHome_exec_i::BMDeviceHome_exec_i ()
+{
+}
+
+/// Default dtor.
+MyImpl::BMDeviceHome_exec_i::~BMDeviceHome_exec_i ()
+{
+}
+
+// Explicit home operations.
+
+// Implicit home operations.
+
+::Components::EnterpriseComponent_ptr
+MyImpl::BMDeviceHome_exec_i::create (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ return new MyImpl::BMDevice_exec_i;
+}
+
+
+extern "C" BMDEVICE_EXEC_Export ::Components::HomeExecutorBase_ptr
+createBMDeviceHome_Impl (void)
+{
+ return new MyImpl::BMDeviceHome_exec_i;
+}
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec.dsp b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec.dsp
new file mode 100644
index 00000000000..f93ba5c398f
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec.dsp
@@ -0,0 +1,200 @@
+# Microsoft Developer Studio Project File - Name="BMDevice_exec DLL" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=BMDevice_exec DLL - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE run the tool that generated this project file and specify the
+!MESSAGE nmake output type. You can then use the following command:
+!MESSAGE
+!MESSAGE NMAKE /f "BMDevice_exec.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "BMDevice_exec.mak" CFG="BMDevice_exec DLL - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "BMDevice_exec DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "BMDevice_exec DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "BMDevice_exec DLL - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Release\BMDevice_exec"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /W3 /GX /O2 /MD /Zi /GR /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMDEVICE_EXEC_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD RSC /l 0x409 /d NDEBUG=1 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.."
+BSC32=bscmake.exe
+# ADD BSC32 /nologo /o".\BMDevice_exec.bsc"
+LINK32=link.exe
+# ADD LINK32 advapi32.lib user32.lib /INCREMENTAL:NO BMDevice_stub.lib BMDevice_svnt.lib BasicSP_stub.lib BasicSP_svnt.lib CIAO_Server.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Security.lib CIAO_Container.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /nologo /version:1.3.1 /subsystem:windows /pdb:"..\..\..\..\..\..\bin\BMDevice_exec.pdb" /dll /machine:I386 /out:"..\..\..\..\..\..\bin\BMDevice_exec.dll"
+
+!ELSEIF "$(CFG)" == "BMDevice_exec DLL - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Debug\BMDevice_exec"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /W3 /Gm /GX /Zi /Od /MDd /GR /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMDEVICE_EXEC_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /Fr /YX
+# ADD RSC /l 0x409 /d _DEBUG=1 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.."
+BSC32=bscmake.exe
+# ADD BSC32 /nologo /o".\BMDevice_exec.bsc"
+LINK32=link.exe
+# ADD LINK32 advapi32.lib user32.lib /INCREMENTAL:NO BMDevice_stubd.lib BMDevice_svntd.lib BasicSP_stubd.lib BasicSP_svntd.lib CIAO_Serverd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Securityd.lib CIAO_Containerd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /nologo /version:1.3.1 /subsystem:windows /pdb:"..\..\..\..\..\..\bin\BMDevice_execd.pdb" /dll /debug /machine:I386 /out:"..\..\..\..\..\..\bin\BMDevice_execd.dll"
+
+!ENDIF
+
+# Begin Target
+
+# Name "BMDevice_exec DLL - Win32 Release"
+# Name "BMDevice_exec DLL - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=.\BMDevice_exec.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMDeviceEIC.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMDeviceEIS.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMDeviceES.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hh"
+# Begin Source File
+
+SOURCE=.\BMDevice_exec.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMDeviceEIC.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMDeviceEIS.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMDeviceES.h
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i;inl"
+# Begin Source File
+
+SOURCE=.\BMDeviceEIC.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMDeviceEIS.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMDeviceES.i
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl"
+# Begin Source File
+
+SOURCE=.\BMDeviceEI.idl
+
+!IF "$(CFG)" == "BMDevice_exec DLL - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=.\BMDeviceEI.idl
+InputName=BMDeviceEI
+InputDir=.
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=BMDEVICE_EXEC_Export -Wb,export_include=BMDevice_exec_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "BMDevice_exec DLL - Win32 Debug"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=.\BMDeviceEI.idl
+InputName=BMDeviceEI
+InputDir=.
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=BMDEVICE_EXEC_Export -Wb,export_include=BMDevice_exec_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec.h b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec.h
new file mode 100644
index 00000000000..d65cbca8b9b
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec.h
@@ -0,0 +1,122 @@
+// $Id$
+
+// ================================================================
+/**
+ * @file BMDevice_exec.h
+ *
+ * Header file for the actual BMDevice and BMDeviceHome component
+ * implementations. These classes are the implementations of local
+ * interfaces defined in BMDeviceEI.idl.
+ *
+ * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
+ */
+// ================================================================
+
+#ifndef CIAO_BMDEVICE_EXEC_H
+#define CIAO_BMDEVICE_EXEC_H
+
+#include "BMDeviceEIC.h"
+#include "tao/LocalObject.h"
+
+namespace MyImpl
+{
+ /**
+ * @class BMDEVICE_exec_i
+ *
+ * An example RateGen executor implementation class.
+ */
+ class BMDEVICE_EXEC_Export BMDevice_exec_i :
+ public virtual BasicSP::BMDevice_Exec,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ /// Default constructor.
+ BMDevice_exec_i ();
+
+ /// Default destructor.
+ ~BMDevice_exec_i ();
+
+ // Operations from BasicSP::BMDevice
+
+ virtual BasicSP::CCM_ReadData_ptr
+ get_data_read (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void
+ push_timeout (BasicSP::TimeOut *ev
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Operations from BasicSP::position
+
+ virtual char *
+ data_read (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char *
+ get_data (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Operations from Components::SessionComponent
+
+ virtual void
+ set_session_context (Components::SessionContext_ptr ctx
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void
+ ccm_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void
+ ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void
+ ccm_remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+ protected:
+ char *str_;
+
+ /// Copmponent specific context
+ BasicSP::CCM_BMDevice_Context_var context_;
+ };
+
+ /**
+ * @class BMDeviceHome_exec_i
+ *
+ * BMDevice home executor implementation class.
+ */
+ class BMDEVICE_EXEC_Export BMDeviceHome_exec_i :
+ public virtual BasicSP::CCM_BMDeviceHome,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ /// Default ctor.
+ BMDeviceHome_exec_i ();
+
+ /// Default dtor.
+ ~BMDeviceHome_exec_i ();
+
+ // Explicit home operations.
+
+ // Implicit home operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ 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" BMDEVICE_EXEC_Export ::Components::HomeExecutorBase_ptr
+createBMDeviceHome_Impl (void);
+
+#endif /* CIAO_BMDEVICE_EXEC_H*/
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec_export.h b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec_export.h
new file mode 100644
index 00000000000..0aa2a34ba17
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec_export.h
@@ -0,0 +1,50 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl BMDEVICE_EXEC
+// ------------------------------
+#ifndef BMDEVICE_EXEC_EXPORT_H
+#define BMDEVICE_EXEC_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (BMDEVICE_EXEC_HAS_DLL)
+# define BMDEVICE_EXEC_HAS_DLL 1
+#endif /* ! BMDEVICE_EXEC_HAS_DLL */
+
+#if defined (BMDEVICE_EXEC_HAS_DLL) && (BMDEVICE_EXEC_HAS_DLL == 1)
+# if defined (BMDEVICE_EXEC_BUILD_DLL)
+# define BMDEVICE_EXEC_Export ACE_Proper_Export_Flag
+# define BMDEVICE_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define BMDEVICE_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* BMDEVICE_EXEC_BUILD_DLL */
+# define BMDEVICE_EXEC_Export ACE_Proper_Import_Flag
+# define BMDEVICE_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define BMDEVICE_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* BMDEVICE_EXEC_BUILD_DLL */
+#else /* BMDEVICE_EXEC_HAS_DLL == 1 */
+# define BMDEVICE_EXEC_Export
+# define BMDEVICE_EXEC_SINGLETON_DECLARATION(T)
+# define BMDEVICE_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* BMDEVICE_EXEC_HAS_DLL == 1 */
+
+// Set BMDEVICE_EXEC_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (BMDEVICE_EXEC_NTRACE)
+# if (ACE_NTRACE == 1)
+# define BMDEVICE_EXEC_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define BMDEVICE_EXEC_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !BMDEVICE_EXEC_NTRACE */
+
+#if (BMDEVICE_EXEC_NTRACE == 1)
+# define BMDEVICE_EXEC_TRACE(X)
+#else /* (BMDEVICE_EXEC_NTRACE == 1) */
+# define BMDEVICE_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
+#endif /* (BMDEVICE_EXEC_NTRACE == 1) */
+
+#endif /* BMDEVICE_EXEC_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_stub.dsp b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_stub.dsp
new file mode 100644
index 00000000000..132fedf2e16
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_stub.dsp
@@ -0,0 +1,170 @@
+# Microsoft Developer Studio Project File - Name="BMDevice_stub DLL" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=BMDevice_stub DLL - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "BMDevice_stub.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "BMDevice_stub.mak" CFG="BMDevice_stub DLL - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "BMDevice_stub DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "BMDevice_stub DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "BMDevice_stub DLL - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Release\BMDevice_stub"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMDEVICE_STUB_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib BasicSP_stub.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\BMDevice_stub.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\BMDevice_stub.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF "$(CFG)" == "BMDevice_stub DLL - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Debug\BMDevice_stub"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMDEVICE_STUB_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /Fr /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib BasicSP_stubd.lib TAOd.lib TAO_Securityd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\BMDevice_stubd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\BMDevice_stubd.dll" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:".." /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "BMDevice_stub DLL - Win32 Release"
+# Name "BMDevice_stub DLL - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=.\BMDeviceC.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hh"
+# Begin Source File
+
+SOURCE=.\BMDeviceC.h
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i;inl"
+# Begin Source File
+
+SOURCE=.\BMDeviceC.i
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl"
+# Begin Source File
+
+SOURCE=.\BMDevice.idl
+
+!IF "$(CFG)" == "BMDevice_stub DLL - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=.\BMDevice.idl
+InputName=BMDevice
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=BMDEVICE_STUB_Export -Wb,stub_export_include=BMDevice_stub_export.h -Wb,skel_export_macro=BMDEVICE_SVNT_Export -Wb,skel_export_include=BMDevice_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "BMDevice_stub DLL - Win32 Debug"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=.\BMDevice.idl
+InputName=BMDevice
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=BMDEVICE_STUB_Export -Wb,stub_export_include=BMDevice_stub_export.h -Wb,skel_export_macro=BMDEVICE_SVNT_Export -Wb,skel_export_include=BMDevice_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\ciao -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_stub_export.h b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_stub_export.h
new file mode 100644
index 00000000000..b0f1a552d4b
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_stub_export.h
@@ -0,0 +1,50 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl BMDEVICE_STUB
+// ------------------------------
+#ifndef BMDEVICE_STUB_EXPORT_H
+#define BMDEVICE_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (BMDEVICE_STUB_HAS_DLL)
+# define BMDEVICE_STUB_HAS_DLL 1
+#endif /* ! BMDEVICE_STUB_HAS_DLL */
+
+#if defined (BMDEVICE_STUB_HAS_DLL) && (BMDEVICE_STUB_HAS_DLL == 1)
+# if defined (BMDEVICE_STUB_BUILD_DLL)
+# define BMDEVICE_STUB_Export ACE_Proper_Export_Flag
+# define BMDEVICE_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define BMDEVICE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* BMDEVICE_STUB_BUILD_DLL */
+# define BMDEVICE_STUB_Export ACE_Proper_Import_Flag
+# define BMDEVICE_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define BMDEVICE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* BMDEVICE_STUB_BUILD_DLL */
+#else /* BMDEVICE_STUB_HAS_DLL == 1 */
+# define BMDEVICE_STUB_Export
+# define BMDEVICE_STUB_SINGLETON_DECLARATION(T)
+# define BMDEVICE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* BMDEVICE_STUB_HAS_DLL == 1 */
+
+// Set BMDEVICE_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (BMDEVICE_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define BMDEVICE_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define BMDEVICE_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !BMDEVICE_STUB_NTRACE */
+
+#if (BMDEVICE_STUB_NTRACE == 1)
+# define BMDEVICE_STUB_TRACE(X)
+#else /* (BMDEVICE_STUB_NTRACE == 1) */
+# define BMDEVICE_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+#endif /* (BMDEVICE_STUB_NTRACE == 1) */
+
+#endif /* BMDEVICE_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_svnt.dsp b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_svnt.dsp
new file mode 100644
index 00000000000..28a308337d7
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_svnt.dsp
@@ -0,0 +1,219 @@
+# Microsoft Developer Studio Project File - Name="BMDevice_svnt DLL" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=BMDevice_svnt DLL - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "BMDevice_svnt.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "BMDevice_svnt.mak" CFG="BMDevice_svnt DLL - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "BMDevice_svnt DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "BMDevice_svnt DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "BMDevice_svnt DLL - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Release\BMDevice_svnt"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMDEVICE_SVNT_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib BMDevice_stub.lib BasicSP_stub.lib BasicSP_svnt.lib CIAO_Server.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Security.lib CIAO_Container.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\BMDevice_svnt.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\BMDevice_svnt.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF "$(CFG)" == "BMDevice_svnt DLL - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Debug\BMDevice_svnt"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMDEVICE_SVNT_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /Fr /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib BMDevice_stubd.lib BasicSP_stubd.lib BasicSP_svntd.lib CIAO_Serverd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Securityd.lib CIAO_Containerd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\BMDevice_svntd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\BMDevice_svntd.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "BMDevice_svnt DLL - Win32 Release"
+# Name "BMDevice_svnt DLL - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=.\BMDevice_svnt.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMDeviceEC.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMDeviceS.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hh"
+# Begin Source File
+
+SOURCE=.\BMDevice_svnt.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMDeviceEC.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMDeviceS.h
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i;inl"
+# Begin Source File
+
+SOURCE=.\BMDeviceEC.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMDeviceS.i
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl"
+# Begin Source File
+
+SOURCE=.\BMDevice.cidl
+
+!IF "$(CFG)" == "BMDevice_svnt DLL - Win32 Release"
+
+!ELSEIF "$(CFG)" == "BMDevice_svnt DLL - Win32 Debug"
+
+USERDEP__BMDEV="..\..\..\..\..\..\bin\cidlc.exe"
+# Begin Custom Build - Invoking CIAO CIDL Compiler on $(InputPath)
+InputPath=.\BMDevice.cidl
+InputName=BMDevice
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\cidlc --lem-file-suffix "E.idl" -- $(InputName).cidl
+
+"$(InputName)E.idl" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)_svnt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)_svnt.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMDeviceE.idl
+
+!IF "$(CFG)" == "BMDevice_svnt DLL - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=.\BMDeviceE.idl
+InputName=BMDeviceE
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=BMDEVICE_SVNT_Export -Wb,export_include=BMDevice_svnt_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "BMDevice_svnt DLL - Win32 Debug"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=.\BMDeviceE.idl
+InputName=BMDeviceE
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=BMDEVICE_SVNT_Export -Wb,export_include=BMDevice_svnt_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_svnt_export.h b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_svnt_export.h
new file mode 100644
index 00000000000..653db47fefb
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_svnt_export.h
@@ -0,0 +1,50 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl BMDEVICE_SVNT
+// ------------------------------
+#ifndef BMDEVICE_SVNT_EXPORT_H
+#define BMDEVICE_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (BMDEVICE_SVNT_HAS_DLL)
+# define BMDEVICE_SVNT_HAS_DLL 1
+#endif /* ! BMDEVICE_SVNT_HAS_DLL */
+
+#if defined (BMDEVICE_SVNT_HAS_DLL) && (BMDEVICE_SVNT_HAS_DLL == 1)
+# if defined (BMDEVICE_SVNT_BUILD_DLL)
+# define BMDEVICE_SVNT_Export ACE_Proper_Export_Flag
+# define BMDEVICE_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define BMDEVICE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* BMDEVICE_SVNT_BUILD_DLL */
+# define BMDEVICE_SVNT_Export ACE_Proper_Import_Flag
+# define BMDEVICE_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define BMDEVICE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* BMDEVICE_SVNT_BUILD_DLL */
+#else /* BMDEVICE_SVNT_HAS_DLL == 1 */
+# define BMDEVICE_SVNT_Export
+# define BMDEVICE_SVNT_SINGLETON_DECLARATION(T)
+# define BMDEVICE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* BMDEVICE_SVNT_HAS_DLL == 1 */
+
+// Set BMDEVICE_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (BMDEVICE_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define BMDEVICE_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define BMDEVICE_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !BMDEVICE_SVNT_NTRACE */
+
+#if (BMDEVICE_SVNT_NTRACE == 1)
+# define BMDEVICE_SVNT_TRACE(X)
+#else /* (BMDEVICE_SVNT_NTRACE == 1) */
+# define BMDEVICE_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+#endif /* (BMDEVICE_SVNT_NTRACE == 1) */
+
+#endif /* BMDEVICE_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/config b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/config
new file mode 100644
index 00000000000..5798aa88e24
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/config
@@ -0,0 +1 @@
+BMDevice_exec|createBMDeviceHome_Impl|BMDevice_svnt|createBMDeviceHome_Servant
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay.cidl b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay.cidl
new file mode 100644
index 00000000000..4342aa753c8
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay.cidl
@@ -0,0 +1,18 @@
+//$Id$
+
+#ifndef BMDISPLAY_CIDL
+#define BMDISPLAY_CIDL
+
+#include "BMDisplay.idl"
+
+composition session BMDisplay_Impl
+{
+ home executor BMDisplayHome_Exec
+ {
+ implements BasicSP::BMDisplayHome;
+ manages BMDisplay_Exec;
+ };
+};
+
+#endif /* BMDISPLAY_CIDL */
+
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay.idl b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay.idl
new file mode 100644
index 00000000000..cbeed950b07
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay.idl
@@ -0,0 +1,15 @@
+//$Id$
+#include "../BasicSP.idl"
+
+module BasicSP
+{
+ component BMDisplay
+ {
+ consumes DataAvailable data_ready;
+ uses ReadData comp_data;
+ };
+
+ home BMDisplayHome manages BMDisplay
+ {
+ };
+};
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplayEI.idl b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplayEI.idl
new file mode 100644
index 00000000000..8a218debab1
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplayEI.idl
@@ -0,0 +1,33 @@
+// $Id$
+//===========================================================
+/**
+ * @file BMDisplayEI.idl
+ *
+ * Definition of the BMDisplay (navigation display) component
+ * implementation.
+ *
+ * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
+ */
+//===========================================================
+#ifndef CIAO_BMDISPLAYEI_IDL
+#define CIAO_BMDISPLAYEI_IDL
+
+#include "BMDisplayE.idl"
+
+module BasicSP
+{
+ /**
+ * @interface BMDisplay_Exec
+ *
+ * The actually BMDisplay executor inherits from both CCM_BMDisplay
+ * and session_component interfaces as a monolithic implementation.
+ */
+ local interface BMDisplay_Exec :
+ CCM_BMDisplay,
+ Components::SessionComponent
+ {
+ };
+
+};
+
+#endif /* CIAO_BMDISPLAYEI_IDL */
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.cpp b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.cpp
new file mode 100644
index 00000000000..f7ac0de4c4a
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.cpp
@@ -0,0 +1,135 @@
+// $Id$
+
+#include "CIAO_common.h"
+#include "BMDisplay_exec.h"
+
+/// Default constructor.
+MyImpl::BMDisplay_exec_impl::BMDisplay_exec_impl ()
+{
+}
+
+/// Default destructor.
+MyImpl::BMDisplay_exec_impl::~BMDisplay_exec_impl ()
+{
+}
+
+// Operations from BasicSP::BMDisplay
+
+void
+MyImpl::BMDisplay_exec_impl::push_data_ready (
+ BasicSP::DataAvailable *ev
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_UNUSED_ARG (ev);
+
+ ACE_DEBUG ((LM_DEBUG,
+ "BMDisplay - Doing computations \n"));
+
+ ACE_DEBUG ((LM_DEBUG,
+ "BMDisplay - Doing data fetch \n"));
+
+ // Refresh position
+ BasicSP::ReadData_var dat
+ = this->context_->get_connection_comp_data (ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ if (CORBA::is_nil (dat.in ()))
+ ACE_THROW (CORBA::BAD_INV_ORDER ());
+
+ char *str =
+ dat->get_data (ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG,
+ "BMDisplay - Display data is [%s] \n",
+ str));
+
+}
+
+// Operations from Components::SessionComponent
+void
+MyImpl::BMDisplay_exec_impl::set_session_context (Components::SessionContext_ptr ctx
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::BMDisplay_exec_impl::set_session_context\n"));
+
+ this->context_ =
+ BasicSP::CCM_BMDisplay_Context::_narrow (ctx
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ if (CORBA::is_nil (this->context_.in ()))
+ ACE_THROW (CORBA::INTERNAL ());
+ // Urm, we actually discard exceptions thown from this operation.
+}
+
+void
+MyImpl::BMDisplay_exec_impl::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::BMDisplay_exec_impl::ccm_activate\n"));
+
+ // @@ This hack work around a missing feature in CIAO's assembly
+ // mechanism where a Softpkg descriptor can specify it's dependency
+ // to a valuetype factory and instruct the deployment framework to
+ // initialize and register the corresponding valuefactory in the
+ // component server. Here, we are registering the valuefactory
+ // explicitly to work around this problem.
+
+ char *argv[1] = { "BMDisplay_exec"};
+
+ int argc = sizeof(argv)/sizeof(argv[0]);
+ CORBA::ORB_var orb = CORBA::ORB_init(argc, argv ACE_ENV_ARG_PARAMETER);
+
+ CIAO_REGISTER_VALUE_FACTORY (orb.in(), BasicSP::DataAvailable_init,
+ BasicSP::DataAvailable);
+}
+
+void
+MyImpl::BMDisplay_exec_impl::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::BMDisplay_exec_impl::ccm_passivate\n"));
+}
+
+void
+MyImpl::BMDisplay_exec_impl::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::BMDisplay_exec_impl::ccm_remove\n"));
+}
+
+/// Default ctor.
+MyImpl::BMDisplayHome_exec_impl::BMDisplayHome_exec_impl ()
+{
+}
+
+/// Default dtor.
+MyImpl::BMDisplayHome_exec_impl::~BMDisplayHome_exec_impl ()
+{
+}
+
+// Explicit home operations.
+
+// Implicit home operations.
+
+::Components::EnterpriseComponent_ptr
+MyImpl::BMDisplayHome_exec_impl::create (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ return new MyImpl::BMDisplay_exec_impl;
+}
+
+
+extern "C" BMDISPLAY_EXEC_Export ::Components::HomeExecutorBase_ptr
+createBMDisplayHome_Impl (void)
+{
+ return new MyImpl::BMDisplayHome_exec_impl;
+}
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.dsp b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.dsp
new file mode 100644
index 00000000000..d17bedf58e2
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.dsp
@@ -0,0 +1,176 @@
+# Microsoft Developer Studio Project File - Name="BMDisplay_exec DLL" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=BMDisplay_exec DLL - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE run the tool that generated this project file and specify the
+!MESSAGE nmake output type. You can then use the following command:
+!MESSAGE
+!MESSAGE NMAKE /f "BMDisplay_exec.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "BMDisplay_exec.mak" CFG="BMDisplay_exec DLL - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "BMDisplay_exec DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "BMDisplay_exec DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "BMDisplay_exec DLL - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Release\BMDisplay_exec"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /W3 /GX /O2 /MD /Zi /GR /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMDISPLAY_EXEC_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD RSC /l 0x409 /d NDEBUG=1 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.."
+BSC32=bscmake.exe
+# ADD BSC32 /nologo /o".\BMDisplay_exec.bsc"
+LINK32=link.exe
+# ADD LINK32 advapi32.lib user32.lib /INCREMENTAL:NO BMDisplay_stub.lib BMDisplay_svnt.lib BasicSP_stub.lib BasicSP_svnt.lib CIAO_Server.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Security.lib CIAO_Container.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /nologo /version:1.3.1 /subsystem:windows /pdb:"..\..\..\..\..\..\bin\BMDisplay_exec.pdb" /dll /machine:I386 /out:"..\..\..\..\..\..\bin\BMDisplay_exec.dll"
+
+!ELSEIF "$(CFG)" == "BMDisplay_exec DLL - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Debug\BMDisplay_exec"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /W3 /Gm /GX /Zi /Od /MDd /GR /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMDISPLAY_EXEC_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /Fr /YX
+# ADD RSC /l 0x409 /d _DEBUG=1 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.."
+BSC32=bscmake.exe
+# ADD BSC32 /nologo /o".\BMDisplay_exec.bsc"
+LINK32=link.exe
+# ADD LINK32 advapi32.lib user32.lib /INCREMENTAL:NO BMDisplay_stubd.lib BMDisplay_svntd.lib BasicSP_stubd.lib BasicSP_svntd.lib CIAO_Serverd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Securityd.lib CIAO_Containerd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /nologo /version:1.3.1 /subsystem:windows /pdb:"..\..\..\..\..\..\bin\BMDisplay_execd.pdb" /dll /debug /machine:I386 /out:"..\..\..\..\..\..\bin\BMDisplay_execd.dll"
+
+!ENDIF
+
+# Begin Target
+
+# Name "BMDisplay_exec DLL - Win32 Release"
+# Name "BMDisplay_exec DLL - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=.\BMDisplay_exec.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMDisplayEIC.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hh"
+# Begin Source File
+
+SOURCE=.\BMDisplay_exec.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMDisplayEIC.h
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i;inl"
+# Begin Source File
+
+SOURCE=.\BMDisplayEIC.i
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl"
+# Begin Source File
+
+SOURCE=.\BMDisplayEI.idl
+
+!IF "$(CFG)" == "BMDisplay_exec DLL - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=.\BMDisplayEI.idl
+InputName=BMDisplayEI
+InputDir=.
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=BMDISPLAY_EXEC_Export -Wb,export_include=BMDisplay_exec_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "BMDisplay_exec DLL - Win32 Debug"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=.\BMDisplayEI.idl
+InputName=BMDisplayEI
+InputDir=.
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=BMDISPLAY_EXEC_Export -Wb,export_include=BMDisplay_exec_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.h b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.h
new file mode 100644
index 00000000000..25c5c4f3488
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.h
@@ -0,0 +1,102 @@
+// $Id$
+
+//==============================================================
+/**
+ * @file BMDisplay_exec.h
+ *
+ * Header file for the actual BMDisplay and BMDisplayHome component
+ * implementations.
+ *
+ * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
+ */
+//==============================================================
+#ifndef CIAO_BMDISPLAY_EXEC_H
+#define CIAO_BMDISPLAY_EXEC_H
+
+#include "BMDisplayEIC.h"
+#include "tao/LocalObject.h"
+
+namespace MyImpl
+{
+ /**
+ * @class BMDisplay_exec_impl
+ *
+ * RateGen executor implementation class.
+ */
+ class BMDISPLAY_EXEC_Export BMDisplay_exec_impl :
+ public virtual BasicSP::BMDisplay_Exec,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ /// Default constructor.
+ BMDisplay_exec_impl ();
+
+ /// Default destructor.
+ ~BMDisplay_exec_impl ();
+
+ // Operations from BasicSP::BMDisplay
+
+ virtual void
+ push_data_ready (BasicSP::DataAvailable *ev
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Operations from Components::SessionComponent
+
+ virtual void
+ set_session_context (Components::SessionContext_ptr ctx
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void
+ ccm_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void
+ ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void
+ ccm_remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+ protected:
+ /// Copmponent specific context
+ BasicSP::CCM_BMDisplay_Context_var context_;
+ };
+
+ /**
+ * @class BMDisplayHome_exec_impl
+ *
+ * BMDisplay home executor implementation class.
+ */
+ class BMDISPLAY_EXEC_Export BMDisplayHome_exec_impl :
+ public virtual BasicSP::CCM_BMDisplayHome,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ /// Default ctor.
+ BMDisplayHome_exec_impl ();
+
+ /// Default dtor.
+ ~BMDisplayHome_exec_impl ();
+
+ // Explicit home operations.
+
+ // Implicit home operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+ };
+
+}
+
+extern "C" BMDISPLAY_EXEC_Export ::Components::HomeExecutorBase_ptr
+createBMDisplayHome_Impl (void);
+
+#endif /* BMDISPLAY_EXEC_H */
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec_export.h b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec_export.h
new file mode 100644
index 00000000000..1f684e4e2c0
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec_export.h
@@ -0,0 +1,50 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl BMDISPLAY_EXEC
+// ------------------------------
+#ifndef BMDISPLAY_EXEC_EXPORT_H
+#define BMDISPLAY_EXEC_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (BMDISPLAY_EXEC_HAS_DLL)
+# define BMDISPLAY_EXEC_HAS_DLL 1
+#endif /* ! BMDISPLAY_EXEC_HAS_DLL */
+
+#if defined (BMDISPLAY_EXEC_HAS_DLL) && (BMDISPLAY_EXEC_HAS_DLL == 1)
+# if defined (BMDISPLAY_EXEC_BUILD_DLL)
+# define BMDISPLAY_EXEC_Export ACE_Proper_Export_Flag
+# define BMDISPLAY_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define BMDISPLAY_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* BMDISPLAY_EXEC_BUILD_DLL */
+# define BMDISPLAY_EXEC_Export ACE_Proper_Import_Flag
+# define BMDISPLAY_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define BMDISPLAY_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* BMDISPLAY_EXEC_BUILD_DLL */
+#else /* BMDISPLAY_EXEC_HAS_DLL == 1 */
+# define BMDISPLAY_EXEC_Export
+# define BMDISPLAY_EXEC_SINGLETON_DECLARATION(T)
+# define BMDISPLAY_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* BMDISPLAY_EXEC_HAS_DLL == 1 */
+
+// Set BMDISPLAY_EXEC_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (BMDISPLAY_EXEC_NTRACE)
+# if (ACE_NTRACE == 1)
+# define BMDISPLAY_EXEC_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define BMDISPLAY_EXEC_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !BMDISPLAY_EXEC_NTRACE */
+
+#if (BMDISPLAY_EXEC_NTRACE == 1)
+# define BMDISPLAY_EXEC_TRACE(X)
+#else /* (BMDISPLAY_EXEC_NTRACE == 1) */
+# define BMDISPLAY_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
+#endif /* (BMDISPLAY_EXEC_NTRACE == 1) */
+
+#endif /* BMDISPLAY_EXEC_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_stub.dsp b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_stub.dsp
new file mode 100644
index 00000000000..3bc3b02e056
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_stub.dsp
@@ -0,0 +1,170 @@
+# Microsoft Developer Studio Project File - Name="BMDisplay_stub DLL" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=BMDisplay_stub DLL - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "BMDisplay_stub.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "BMDisplay_stub.mak" CFG="BMDisplay_stub DLL - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "BMDisplay_stub DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "BMDisplay_stub DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "BMDisplay_stub DLL - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Release\BMDisplay_stub"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMDISPLAY_STUB_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\BMDisplay_stub.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\BMDisplay_stub.dll" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF "$(CFG)" == "BMDisplay_stub DLL - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Debug\BMDisplay_stub"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMDISPLAY_STUB_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /Fr /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib TAOd.lib TAO_Securityd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\BMDisplay_stubd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\BMDisplay_stubd.dll" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "BMDisplay_stub DLL - Win32 Release"
+# Name "BMDisplay_stub DLL - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=.\BMDisplayC.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hh"
+# Begin Source File
+
+SOURCE=.\BMDisplayC.h
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i;inl"
+# Begin Source File
+
+SOURCE=.\BMDisplayC.i
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl"
+# Begin Source File
+
+SOURCE=.\BMDisplay.idl
+
+!IF "$(CFG)" == "BMDisplay_stub DLL - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=.\BMDisplay.idl
+InputName=BMDisplay
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=BMDISPLAY_STUB_Export -Wb,stub_export_include=BMDisplay_stub_export.h -Wb,skel_export_macro=BMDISPLAY_SVNT_Export -Wb,skel_export_include=BMDisplay_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "BMDisplay_stub DLL - Win32 Debug"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=.\BMDisplay.idl
+InputName=BMDisplay
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=BMDISPLAY_STUB_Export -Wb,stub_export_include=BMDisplay_stub_export.h -Wb,skel_export_macro=BMDISPLAY_SVNT_Export -Wb,skel_export_include=BMDisplay_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I..\..\..\..\ciao -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_stub_export.h b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_stub_export.h
new file mode 100644
index 00000000000..399dbb7425d
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_stub_export.h
@@ -0,0 +1,50 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl BMDISPLAY_STUB
+// ------------------------------
+#ifndef BMDISPLAY_STUB_EXPORT_H
+#define BMDISPLAY_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (BMDISPLAY_STUB_HAS_DLL)
+# define BMDISPLAY_STUB_HAS_DLL 1
+#endif /* ! BMDISPLAY_STUB_HAS_DLL */
+
+#if defined (BMDISPLAY_STUB_HAS_DLL) && (BMDISPLAY_STUB_HAS_DLL == 1)
+# if defined (BMDISPLAY_STUB_BUILD_DLL)
+# define BMDISPLAY_STUB_Export ACE_Proper_Export_Flag
+# define BMDISPLAY_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define BMDISPLAY_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* BMDISPLAY_STUB_BUILD_DLL */
+# define BMDISPLAY_STUB_Export ACE_Proper_Import_Flag
+# define BMDISPLAY_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define BMDISPLAY_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* BMDISPLAY_STUB_BUILD_DLL */
+#else /* BMDISPLAY_STUB_HAS_DLL == 1 */
+# define BMDISPLAY_STUB_Export
+# define BMDISPLAY_STUB_SINGLETON_DECLARATION(T)
+# define BMDISPLAY_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* BMDISPLAY_STUB_HAS_DLL == 1 */
+
+// Set BMDISPLAY_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (BMDISPLAY_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define BMDISPLAY_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define BMDISPLAY_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !BMDISPLAY_STUB_NTRACE */
+
+#if (BMDISPLAY_STUB_NTRACE == 1)
+# define BMDISPLAY_STUB_TRACE(X)
+#else /* (BMDISPLAY_STUB_NTRACE == 1) */
+# define BMDISPLAY_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+#endif /* (BMDISPLAY_STUB_NTRACE == 1) */
+
+#endif /* BMDISPLAY_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_svnt.dsp b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_svnt.dsp
new file mode 100644
index 00000000000..d607ddea00f
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_svnt.dsp
@@ -0,0 +1,219 @@
+# Microsoft Developer Studio Project File - Name="BMDisplay_svnt DLL" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=BMDisplay_svnt DLL - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "BMDisplay_svnt.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "BMDisplay_svnt.mak" CFG="BMDisplay_svnt DLL - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "BMDisplay_svnt DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "BMDisplay_svnt DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "BMDisplay_svnt DLL - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Release\BMDisplay_svnt"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMDISPLAY_SVNT_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib BMDisplay_stub.lib BasicSP_stub.lib BasicSP_svnt.lib CIAO_Server.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Security.lib CIAO_Container.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\BMDisplay_svnt.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\BMDisplay_svnt.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF "$(CFG)" == "BMDisplay_svnt DLL - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Debug\BMDisplay_svnt"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMDISPLAY_SVNT_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /Fr /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib BMDisplay_stubd.lib BasicSP_stubd.lib BasicSP_svntd.lib CIAO_Serverd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Securityd.lib CIAO_Containerd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\BMDisplay_svntd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\BMDisplay_svntd.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "BMDisplay_svnt DLL - Win32 Release"
+# Name "BMDisplay_svnt DLL - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=.\BMDisplay_svnt.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMDisplayEC.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMDisplayS.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hh"
+# Begin Source File
+
+SOURCE=.\BMDisplay_svnt.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMDisplayEC.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMDisplayS.h
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i;inl"
+# Begin Source File
+
+SOURCE=.\BMDisplayEC.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMDisplayS.i
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl"
+# Begin Source File
+
+SOURCE=.\BMDisplay.cidl
+
+!IF "$(CFG)" == "BMDisplay_svnt DLL - Win32 Release"
+
+!ELSEIF "$(CFG)" == "BMDisplay_svnt DLL - Win32 Debug"
+
+USERDEP__BMDIS="..\..\..\..\..\..\bin\cidlc.exe"
+# Begin Custom Build - Invoking CIAO CIDL Compiler on $(InputPath)
+InputPath=.\BMDisplay.cidl
+InputName=BMDisplay
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\cidlc --lem-file-suffix "E.idl" -- $(InputName).cidl
+
+"$(InputName)E.idl" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)_svnt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)_svnt.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\BMDisplayE.idl
+
+!IF "$(CFG)" == "BMDisplay_svnt DLL - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=.\BMDisplayE.idl
+InputName=BMDisplayE
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=BMDISPLAY_SVNT_Export -Wb,export_include=BMDisplay_svnt_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "BMDisplay_svnt DLL - Win32 Debug"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=.\BMDisplayE.idl
+InputName=BMDisplayE
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=BMDISPLAY_SVNT_Export -Wb,export_include=BMDisplay_svnt_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_svnt_export.h b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_svnt_export.h
new file mode 100644
index 00000000000..2392da154d7
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_svnt_export.h
@@ -0,0 +1,50 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl BMDISPLAY_SVNT
+// ------------------------------
+#ifndef BMDISPLAY_SVNT_EXPORT_H
+#define BMDISPLAY_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (BMDISPLAY_SVNT_HAS_DLL)
+# define BMDISPLAY_SVNT_HAS_DLL 1
+#endif /* ! BMDISPLAY_SVNT_HAS_DLL */
+
+#if defined (BMDISPLAY_SVNT_HAS_DLL) && (BMDISPLAY_SVNT_HAS_DLL == 1)
+# if defined (BMDISPLAY_SVNT_BUILD_DLL)
+# define BMDISPLAY_SVNT_Export ACE_Proper_Export_Flag
+# define BMDISPLAY_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define BMDISPLAY_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* BMDISPLAY_SVNT_BUILD_DLL */
+# define BMDISPLAY_SVNT_Export ACE_Proper_Import_Flag
+# define BMDISPLAY_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define BMDISPLAY_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* BMDISPLAY_SVNT_BUILD_DLL */
+#else /* BMDISPLAY_SVNT_HAS_DLL == 1 */
+# define BMDISPLAY_SVNT_Export
+# define BMDISPLAY_SVNT_SINGLETON_DECLARATION(T)
+# define BMDISPLAY_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* BMDISPLAY_SVNT_HAS_DLL == 1 */
+
+// Set BMDISPLAY_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (BMDISPLAY_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define BMDISPLAY_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define BMDISPLAY_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !BMDISPLAY_SVNT_NTRACE */
+
+#if (BMDISPLAY_SVNT_NTRACE == 1)
+# define BMDISPLAY_SVNT_TRACE(X)
+#else /* (BMDISPLAY_SVNT_NTRACE == 1) */
+# define BMDISPLAY_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+#endif /* (BMDISPLAY_SVNT_NTRACE == 1) */
+
+#endif /* BMDISPLAY_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/config b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/config
new file mode 100644
index 00000000000..6d9a49031b1
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/config
@@ -0,0 +1 @@
+BMDisplay_exec|createBMDisplayHome_Impl|BMDisplay_svnt|createBMDisplayHome_Servant
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BasicSP.dsw b/TAO/CIAO/examples/OEP/BasicSP/BasicSP.dsw
new file mode 100644
index 00000000000..c88df11e7d6
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BasicSP.dsw
@@ -0,0 +1,266 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "EC_stub DLL"=EC\EC_stub.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name BasicSP_stub DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "EC_svnt DLL"=EC\EC_svnt.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name BasicSP_svnt DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name EC_stub DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "EC_exec DLL"=EC\EC_exec.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name EC_svnt DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "EC_client EXE"=EC\EC_client.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name EC_stub DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "controller EXE"=EC\controller.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name EC_stub DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "BMDisplay_stub DLL"=BMDisplay\BMDisplay_stub.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name BasicSP_stub DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "BMDisplay_svnt DLL"=BMDisplay\BMDisplay_svnt.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name BasicSP_svnt DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name BMDisplay_stub DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "BMDisplay_exec DLL"=BMDisplay\BMDisplay_exec.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name BMDisplay_svnt DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "BMDevice_stub DLL"=BMDevice\BMDevice_stub.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name BasicSP_stub DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "BMDevice_svnt DLL"=BMDevice\BMDevice_svnt.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name BMDevice_stub DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name BasicSP_stub DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "BMDevice_exec DLL"=BMDevice\BMDevice_exec.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name BMDevice_svnt DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "BMClosedED_stub DLL"=BMClosedED\BMClosedED_stub.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name BasicSP_stub DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "BMClosedED_svnt DLL"=BMClosedED\BMClosedED_svnt.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name BasicSP_svnt DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name BMClosedED_stub DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "BMClosedED_exec DLL"=BMClosedED\BMClosedED_exec.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name BMClosedED_svnt DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "BasicSP_stub DLL"=BasicSP_stub.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "BasicSP_svnt DLL"=BasicSP_svnt.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name BasicSP_stub DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BasicSP.idl b/TAO/CIAO/examples/OEP/BasicSP/BasicSP.idl
new file mode 100644
index 00000000000..e8e0bf2ae2a
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BasicSP.idl
@@ -0,0 +1,47 @@
+// $Id$
+//=============================================================================
+/**
+ * @file BasicSP.idl
+ *
+ * Definition of events, and common interfaces used in the BasicSP module.
+ *
+ * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
+ */
+//=============================================================================
+
+#ifndef CIAO_BASIC_SP_IDL
+#define CIAO_BASIC_SP_IDL
+
+#include <Components.idl>
+
+// @@NOTE: Do we need a pragma prefix. Anyway its broken now in TAO..
+// #pragma prefix ""
+
+module BasicSP
+{
+
+ /**
+ * @NOTE: Not sure whether this is a good abstraction. Just copying
+ * the stuff from Cadena folks.
+ */
+ /**
+ * @interface ReadData
+ *
+ */
+
+ interface ReadData {
+ string get_data ();
+ };
+
+ /**
+ * @eventtype Events that represent timeouts
+ */
+ eventtype TimeOut {};
+
+ /**
+ * @eventtype Events that represent data availability
+ */
+ eventtype DataAvailable {};
+};
+
+#endif /*CIAO_BASIC_SP_IDL*/
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BasicSP.mpc b/TAO/CIAO/examples/OEP/BasicSP/BasicSP.mpc
new file mode 100644
index 00000000000..f47269d0cdd
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BasicSP.mpc
@@ -0,0 +1,29 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -n HUDisplay"
+
+project(BasicSP_stub): ciao_client {
+
+ sharedname = BasicSP_stub
+ idlflags += -Wb,stub_export_macro=BASICSP_STUB_Export -Wb,stub_export_include=BasicSP_stub_export.h -Wb,skel_export_macro=BASICSP_SVNT_Export -Wb,skel_export_include=BasicSP_svnt_export.h
+ dllflags = BASICSP_STUB_BUILD_DLL
+
+ IDL_Files {
+ BasicSP.idl
+ }
+
+ Source_Files {
+ BasicSPC.cpp
+ }
+}
+
+project(BasicSP_svnt) : ciao_server {
+ depends += BasicSP_stub
+ sharedname = BasicSP_svnt
+ libs += BasicSP_stub
+
+ dllflags = BASICSP_SVNT_BUILD_DLL
+
+ Source_Files {
+ BasicSPS.cpp
+ }
+}
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BasicSP_stub.dsp b/TAO/CIAO/examples/OEP/BasicSP/BasicSP_stub.dsp
new file mode 100644
index 00000000000..c24fe7a0531
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BasicSP_stub.dsp
@@ -0,0 +1,178 @@
+# Microsoft Developer Studio Project File - Name="BasicSP_stub DLL" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=BasicSP_stub DLL - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "BasicSP_stub.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "BasicSP_stub.mak" CFG="BasicSP_stub DLL - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "BasicSP_stub DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "BasicSP_stub DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "BasicSP_stub DLL - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Release\BasicSP_stub"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\.." /I "..\..\..\ciao" /I "..\..\..\.." /I "..\..\..\..\tao" /I "..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BASICSP_STUB_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\.." /i "..\..\..\ciao" /i "..\..\..\.." /i "..\..\..\..\tao" /i "..\..\..\..\.." /d NDEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\bin\BasicSP_stub.pdb" /machine:I386 /out:"..\..\..\..\..\bin\BasicSP_stub.dll" /libpath:"..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\tao\Valuetype" /libpath:"..\..\..\ciao" /libpath:"..\..\..\..\tao" /libpath:"..\..\..\..\..\ace" /version:1.3.1
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF "$(CFG)" == "BasicSP_stub DLL - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Debug\BasicSP_stub"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\orbsvcs\orbsvcs" /I "..\..\.." /I "..\..\..\ciao" /I "..\..\..\.." /I "..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BASICSP_STUB_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /Fr /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\.." /i "..\..\..\ciao" /i "..\..\..\.." /i "..\..\..\..\tao" /i "..\..\..\..\.." /d _DEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib TAOd.lib TAO_Securityd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\bin\BasicSP_stubd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\bin\BasicSP_stubd.dll" /libpath:"..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\tao\Valuetype" /libpath:"..\..\..\ciao" /libpath:"..\..\..\..\tao" /libpath:"..\..\..\..\..\ace" /version:1.3.1
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "BasicSP_stub DLL - Win32 Release"
+# Name "BasicSP_stub DLL - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=.\BasicSPC.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hh"
+# Begin Source File
+
+SOURCE=.\BasicSPC.h
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i;inl"
+# Begin Source File
+
+SOURCE=.\BasicSPC.i
+# End Source File
+# End Group
+# Begin Group "Documentation"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\README
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl"
+# Begin Source File
+
+SOURCE=.\BasicSP.idl
+
+!IF "$(CFG)" == "BasicSP_stub DLL - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=.\BasicSP.idl
+InputName=BasicSP
+
+BuildCmds= \
+ ..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=BASICSP_STUB_Export -Wb,stub_export_include=BasicSP_stub_export.h -Wb,skel_export_macro=BASICSP_SVNT_Export -Wb,skel_export_include=BasicSP_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\.. -I ..\..\..\.. -I ..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "BasicSP_stub DLL - Win32 Debug"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=.\BasicSP.idl
+InputName=BasicSP
+
+BuildCmds= \
+ ..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=BASICSP_STUB_Export -Wb,stub_export_include=BasicSP_stub_export.h -Wb,skel_export_macro=BASICSP_SVNT_Export -Wb,skel_export_include=BasicSP_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\.. -I ..\..\..\.. -I ..\..\..\ciao -I ..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BasicSP_stub_export.h b/TAO/CIAO/examples/OEP/BasicSP/BasicSP_stub_export.h
new file mode 100644
index 00000000000..1ae476b4082
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BasicSP_stub_export.h
@@ -0,0 +1,50 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl BASICSP_STUB
+// ------------------------------
+#ifndef BASICSP_STUB_EXPORT_H
+#define BASICSP_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (BASICSP_STUB_HAS_DLL)
+# define BASICSP_STUB_HAS_DLL 1
+#endif /* ! BASICSP_STUB_HAS_DLL */
+
+#if defined (BASICSP_STUB_HAS_DLL) && (BASICSP_STUB_HAS_DLL == 1)
+# if defined (BASICSP_STUB_BUILD_DLL)
+# define BASICSP_STUB_Export ACE_Proper_Export_Flag
+# define BASICSP_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define BASICSP_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* BASICSP_STUB_BUILD_DLL */
+# define BASICSP_STUB_Export ACE_Proper_Import_Flag
+# define BASICSP_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define BASICSP_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* BASICSP_STUB_BUILD_DLL */
+#else /* BASICSP_STUB_HAS_DLL == 1 */
+# define BASICSP_STUB_Export
+# define BASICSP_STUB_SINGLETON_DECLARATION(T)
+# define BASICSP_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* BASICSP_STUB_HAS_DLL == 1 */
+
+// Set BASICSP_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (BASICSP_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define BASICSP_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define BASICSP_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !BASICSP_STUB_NTRACE */
+
+#if (BASICSP_STUB_NTRACE == 1)
+# define BASICSP_STUB_TRACE(X)
+#else /* (BASICSP_STUB_NTRACE == 1) */
+# define BASICSP_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+#endif /* (BASICSP_STUB_NTRACE == 1) */
+
+#endif /* BASICSP_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BasicSP_svnt.dsp b/TAO/CIAO/examples/OEP/BasicSP/BasicSP_svnt.dsp
new file mode 100644
index 00000000000..8817dad59c0
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BasicSP_svnt.dsp
@@ -0,0 +1,109 @@
+# Microsoft Developer Studio Project File - Name="BasicSP_svnt DLL" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=BasicSP_svnt DLL - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "BasicSP_svnt.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "BasicSP_svnt.mak" CFG="BasicSP_svnt DLL - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "BasicSP_svnt DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "BasicSP_svnt DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "BasicSP_svnt DLL - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Release\BasicSP_svnt"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\..\orbsvcs\orbsvcs" /I "..\..\.." /I "..\..\..\ciao" /I "..\..\..\.." /I "..\..\..\..\tao" /I "..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BASICSP_SVNT_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\..\..\orbsvcs\orbsvcs" /i "..\..\.." /i "..\..\..\ciao" /i "..\..\..\.." /i "..\..\..\..\tao" /i "..\..\..\..\.." /d NDEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib BasicSP_stub.lib CIAO_Server.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Security.lib CIAO_Container.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\bin\BasicSP_svnt.pdb" /machine:I386 /out:"..\..\..\..\..\bin\BasicSP_svnt.dll" /libpath:"..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\tao\Valuetype" /libpath:"..\..\..\ciao" /libpath:"..\..\..\..\tao" /libpath:"..\..\..\..\..\ace" /version:1.3.1
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF "$(CFG)" == "BasicSP_svnt DLL - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Debug\BasicSP_svnt"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\orbsvcs\orbsvcs" /I "..\..\.." /I "..\..\..\ciao" /I "..\..\..\.." /I "..\..\..\..\tao" /I "..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BASICSP_SVNT_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /Fr /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\..\..\orbsvcs\orbsvcs" /i "..\..\.." /i "..\..\..\ciao" /i "..\..\..\.." /i "..\..\..\..\tao" /i "..\..\..\..\.." /d _DEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib BasicSP_stubd.lib CIAO_Serverd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Securityd.lib CIAO_Containerd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\bin\BasicSP_svntd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\bin\BasicSP_svntd.dll" /libpath:"..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\tao\Valuetype" /libpath:"..\..\..\ciao" /libpath:"..\..\..\..\tao" /libpath:"..\..\..\..\..\ace" /version:1.3.1
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "BasicSP_svnt DLL - Win32 Release"
+# Name "BasicSP_svnt DLL - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=.\BasicSPS.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hh"
+# Begin Source File
+
+SOURCE=.\BasicSPS.h
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i;inl"
+# Begin Source File
+
+SOURCE=.\BasicSPS.i
+# End Source File
+# End Group
+# Begin Group "Documentation"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\README
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BasicSP_svnt_export.h b/TAO/CIAO/examples/OEP/BasicSP/BasicSP_svnt_export.h
new file mode 100644
index 00000000000..23c48f384d7
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/BasicSP_svnt_export.h
@@ -0,0 +1,50 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl BASICSP_SVNT
+// ------------------------------
+#ifndef BASICSP_SVNT_EXPORT_H
+#define BASICSP_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (BASICSP_SVNT_HAS_DLL)
+# define BASICSP_SVNT_HAS_DLL 1
+#endif /* ! BASICSP_SVNT_HAS_DLL */
+
+#if defined (BASICSP_SVNT_HAS_DLL) && (BASICSP_SVNT_HAS_DLL == 1)
+# if defined (BASICSP_SVNT_BUILD_DLL)
+# define BASICSP_SVNT_Export ACE_Proper_Export_Flag
+# define BASICSP_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define BASICSP_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* BASICSP_SVNT_BUILD_DLL */
+# define BASICSP_SVNT_Export ACE_Proper_Import_Flag
+# define BASICSP_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define BASICSP_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* BASICSP_SVNT_BUILD_DLL */
+#else /* BASICSP_SVNT_HAS_DLL == 1 */
+# define BASICSP_SVNT_Export
+# define BASICSP_SVNT_SINGLETON_DECLARATION(T)
+# define BASICSP_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* BASICSP_SVNT_HAS_DLL == 1 */
+
+// Set BASICSP_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (BASICSP_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define BASICSP_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define BASICSP_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !BASICSP_SVNT_NTRACE */
+
+#if (BASICSP_SVNT_NTRACE == 1)
+# define BASICSP_SVNT_TRACE(X)
+#else /* (BASICSP_SVNT_NTRACE == 1) */
+# define BASICSP_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+#endif /* (BASICSP_SVNT_NTRACE == 1) */
+
+#endif /* BASICSP_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/EC.cidl b/TAO/CIAO/examples/OEP/BasicSP/EC/EC.cidl
new file mode 100644
index 00000000000..8e9ff0d5575
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/EC/EC.cidl
@@ -0,0 +1,21 @@
+//$Id$
+
+#ifndef EC_CIDL
+#define EC_CIDL
+
+#include "EC.idl"
+
+composition session EC_Impl
+{
+ home executor ECHome_Exec
+ {
+ implements BasicSP::ECHome;
+ manages EC_Exec;
+ };
+};
+
+#endif /* EC_CIDL */
+
+
+
+
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/EC.idl b/TAO/CIAO/examples/OEP/BasicSP/EC/EC.idl
new file mode 100644
index 00000000000..50ad25afd7f
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/EC/EC.idl
@@ -0,0 +1,41 @@
+// $Id$
+//=============================================================================
+/**
+ * @file EC.idl
+ *
+ * Definition of events, and common interfaces used in the BasicSP module.
+ *
+ * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
+ */
+//=============================================================================
+
+#ifndef CIAO_EC_IDL
+#define CIAO_EC_IDL
+
+#include "../BasicSP.idl"
+
+module BasicSP
+{
+ interface trigger
+ {
+ void start ();
+ void stop ();
+ };
+ component EC supports trigger
+ {
+ publishes TimeOut timeout;
+
+ /// The attribute can be configured via the home or the
+ /// component property file.
+ attribute long hertz;
+
+ };
+
+ home ECHome manages EC
+ {
+ // Explicit operations
+ factory new_EC (in long hertz);
+ };
+};
+
+#endif /* CIAO_EC_IDL*/
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/ECEI.idl b/TAO/CIAO/examples/OEP/BasicSP/EC/ECEI.idl
new file mode 100644
index 00000000000..9b48d5c74dd
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/EC/ECEI.idl
@@ -0,0 +1,32 @@
+// $Id$
+
+//=============================================================================
+/**
+ * @file ECEI.idl
+ *
+ *
+ * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
+ */
+//=============================================================================
+#ifndef CIAO_ECEI_IDL
+#define CIAO_ECEI_IDL
+
+#include "ECE.idl"
+
+module BasicSP
+{
+ /**
+ * @interface EC_Exec
+ *
+ * The actually EC executor need to support
+ * Components::SessionComponent interface. Therefore, we need to
+ * define the component executor interface explicitly here.
+ */
+ local interface EC_Exec : CCM_EC,
+ Components::SessionComponent
+ {
+ };
+
+};
+
+#endif /* RATEGENEI_IDL */
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/EC_client.dsp b/TAO/CIAO/examples/OEP/BasicSP/EC/EC_client.dsp
new file mode 100644
index 00000000000..80a9e1aac0b
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/EC/EC_client.dsp
@@ -0,0 +1,166 @@
+# Microsoft Developer Studio Project File - Name="EC_client EXE" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=EC_client EXE - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "EC_client.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "EC_client.mak" CFG="EC_client EXE - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "EC_client EXE - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "EC_client EXE - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "EC_client EXE - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release\EC_client"
+# PROP Target_Dir ""
+# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _CONSOLE=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib EC_stub.lib BasicSP_stub.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:console /machine:I386 /out:"Release\client.exe" /libpath:".." /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF "$(CFG)" == "EC_client EXE - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Debug\EC_client"
+# PROP Target_Dir ""
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _CONSOLE=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib EC_stubd.lib BasicSP_stubd.lib TAO_Securityd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:".\client.exe" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:".." /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "EC_client EXE - Win32 Release"
+# Name "EC_client EXE - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=.\client.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hh"
+# Begin Source File
+
+SOURCE=.\EC_exec.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\EC_exec_export.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\EC_stub_export.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\EC_svnt.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\EC_svnt_export.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECC.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECEC.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECEIC.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECEIS.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECES.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECS.h
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i;inl"
+# Begin Source File
+
+SOURCE=.\ECC.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECEC.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECEIC.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECEIS.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECES.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECS.i
+# End Source File
+# End Group
+# Begin Group "Documentation"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\README
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec.cpp b/TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec.cpp
new file mode 100644
index 00000000000..8897776433d
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec.cpp
@@ -0,0 +1,279 @@
+// $Id$
+
+#include "EC_exec.h"
+#include "ace/Timer_Queue.h"
+#include "ace/Reactor.h"
+
+//=================================================================
+
+MyImpl::timeout_Handler::timeout_Handler (MyImpl::EC_exec_i *cb)
+ : active_ (0),
+ done_ (0),
+ tid_ (0),
+ pulse_callback_ (cb)
+{
+ // Nothing
+ this->reactor (new ACE_Reactor);
+}
+
+MyImpl::timeout_Handler::~timeout_Handler ()
+{
+ delete this->reactor ();
+ this->reactor (0);
+}
+
+int
+MyImpl::timeout_Handler::open ()
+{
+ return this->activate ();
+}
+
+int
+MyImpl::timeout_Handler::close ()
+{
+ this->done_ = 1;
+ this->reactor ()->notify ();
+
+ ACE_DEBUG ((LM_DEBUG, "Waiting\n"));
+ return this->wait ();
+}
+
+int
+MyImpl::timeout_Handler::start (CORBA::Long hertz)
+{
+ if (hertz == 0 || this->active_ != 0) // Not valid
+ return -1;
+
+ long usec = 1000000 / hertz;
+
+ this->tid_ = this->reactor ()->schedule_timer (this,
+ 0,
+ ACE_Time_Value (0, usec),
+ ACE_Time_Value (0, usec));
+
+ this->active_ = 1;
+ return 0;
+}
+
+int
+MyImpl::timeout_Handler::stop (void)
+{
+ if (this->active_ == 0) // Not valid.
+ return -1;
+
+ this->reactor ()->cancel_timer (this);
+
+ this->active_ = 0;
+ return 0;
+}
+
+int
+MyImpl::timeout_Handler::active (void)
+{
+ return this->active_;
+}
+
+int
+MyImpl::timeout_Handler::handle_close (ACE_HANDLE handle,
+ ACE_Reactor_Mask close_mask)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("[%x] handle = %d, close_mask = %d\n"),
+ this,
+ handle,
+ close_mask));
+
+ return 0;
+}
+
+int
+MyImpl::timeout_Handler::handle_timeout (const ACE_Time_Value &,
+ const void *)
+{
+ this->pulse_callback_->pulse ();
+
+// ACE_DEBUG ((LM_DEBUG,
+// ACE_TEXT ("[%x] with count #%05d timed out at %d.%d!\n"),
+// this,
+// tv.sec (),
+// tv.usec ()));
+
+ return 0;
+}
+
+int
+MyImpl::timeout_Handler::svc (void)
+{
+ this->reactor ()->owner (ACE_OS::thr_self ());
+
+ while (!this->done_)
+ this->reactor ()->handle_events ();
+
+ return 0;
+}
+
+//=================================================================
+
+MyImpl::EC_exec_i::EC_exec_i ()
+ : hertz_ (0),
+ pulser_ (this)
+{
+
+}
+
+MyImpl::EC_exec_i::EC_exec_i (CORBA::Long hz)
+ : hertz_ (hz),
+ pulser_ (this)
+{
+}
+
+MyImpl::EC_exec_i::~EC_exec_i ()
+{
+}
+
+CORBA::Long
+MyImpl::EC_exec_i::hertz (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->hertz_;
+}
+
+void
+MyImpl::EC_exec_i::hertz (CORBA::Long hertz
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->hertz_ = hertz;
+}
+
+// Operations from supported interface(s)
+
+void
+MyImpl::EC_exec_i::start (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ if (this->hertz_ == 0 || this->pulser_.active())
+ ACE_THROW (CORBA::BAD_INV_ORDER ());
+
+ // @@ Start the rate generator
+ this->pulser_.start (this->hertz_);
+}
+
+void
+MyImpl::EC_exec_i::stop (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ if (! this->pulser_.active ())
+ ACE_THROW (CORBA::BAD_INV_ORDER ());
+
+ // @@ stop the rate generator
+ this->pulser_.stop ();
+}
+
+CORBA::Boolean
+MyImpl::EC_exec_i::active (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->pulser_.active ();
+}
+
+// Operations from Components::SessionComponent
+
+void
+MyImpl::EC_exec_i::set_session_context (Components::SessionContext_ptr ctx
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::EC_exec_i::set_session_context\n"));
+
+ this->context_ =
+ BasicSP::CCM_EC_Context::_narrow (ctx
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ if (CORBA::is_nil (this->context_.in ()))
+ ACE_THROW (CORBA::INTERNAL ());
+ // Urm, we actually discard exceptions thown from this operation.
+
+}
+
+void
+MyImpl::EC_exec_i::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::EC_exec_i::ccm_activate\n"));
+
+ this->pulser_.open ();
+}
+
+void
+MyImpl::EC_exec_i::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::EC_exec_i::ccm_passivate\n"));
+ this->pulser_.close ();
+}
+
+void
+MyImpl::EC_exec_i::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::EC_exec_i::ccm_remove\n"));
+}
+
+void
+MyImpl::EC_exec_i::pulse (void)
+{
+ ACE_TRY_NEW_ENV
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Pushing BasicSP::TimeOut event!\n")));
+
+ BasicSP::TimeOut_var ev = new OBV_BasicSP::TimeOut ();
+
+ this->context_->push_timeout (ev.in ()
+ ACE_ENV_ARG_PARAMETER);
+ }
+ ACE_CATCHANY
+ {
+ // @@ do nothing?
+ }
+ ACE_ENDTRY;
+
+}
+
+MyImpl::ECHome_exec_i::ECHome_exec_i ()
+{
+}
+
+MyImpl::ECHome_exec_i::~ECHome_exec_i ()
+{
+}
+
+::Components::EnterpriseComponent_ptr
+MyImpl::ECHome_exec_i::new_EC (CORBA::Long hertz
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ return new MyImpl::EC_exec_i (hertz);
+}
+
+::Components::EnterpriseComponent_ptr
+MyImpl::ECHome_exec_i::create (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ return new MyImpl::EC_exec_i ();
+}
+
+
+extern "C" EC_EXEC_Export ::Components::HomeExecutorBase_ptr
+createECHome_Impl (void)
+{
+ return new MyImpl::ECHome_exec_i ();
+}
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec.dsp b/TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec.dsp
new file mode 100644
index 00000000000..ca5df7a1135
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec.dsp
@@ -0,0 +1,184 @@
+# Microsoft Developer Studio Project File - Name="EC_exec DLL" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=EC_exec DLL - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE run the tool that generated this project file and specify the
+!MESSAGE nmake output type. You can then use the following command:
+!MESSAGE
+!MESSAGE NMAKE /f "EC_exec.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "EC_exec.mak" CFG="EC_exec DLL - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "EC_exec DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "EC_exec DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "EC_exec DLL - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Release\EC_exec"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /W3 /GX /O2 /MD /Zi /GR /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D EC_EXEC_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD RSC /l 0x409 /d NDEBUG=1 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.."
+BSC32=bscmake.exe
+# ADD BSC32 /nologo /o".\EC_exec.bsc"
+LINK32=link.exe
+# ADD LINK32 advapi32.lib user32.lib /INCREMENTAL:NO EC_stub.lib BasicSP_stub.lib EC_svnt.lib CIAO_Server.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Security.lib CIAO_Container.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /nologo /version:1.3.1 /subsystem:windows /pdb:"..\..\..\..\..\..\bin\EC_exec.pdb" /dll /machine:I386 /out:"..\..\..\..\..\..\bin\EC_exec.dll"
+
+!ELSEIF "$(CFG)" == "EC_exec DLL - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Debug\EC_exec"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /W3 /Gm /GX /Zi /Od /MDd /GR /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D EC_EXEC_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /Fr /YX
+# ADD RSC /l 0x409 /d _DEBUG=1 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.."
+BSC32=bscmake.exe
+# ADD BSC32 /nologo /o".\EC_exec.bsc"
+LINK32=link.exe
+# ADD LINK32 advapi32.lib user32.lib /INCREMENTAL:NO EC_stubd.lib BasicSP_stubd.lib EC_svntd.lib CIAO_Serverd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Securityd.lib CIAO_Containerd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /nologo /version:1.3.1 /subsystem:windows /pdb:"..\..\..\..\..\..\bin\EC_execd.pdb" /dll /debug /machine:I386 /out:"..\..\..\..\..\..\bin\EC_execd.dll"
+
+!ENDIF
+
+# Begin Target
+
+# Name "EC_exec DLL - Win32 Release"
+# Name "EC_exec DLL - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=.\EC_exec.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECEIC.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hh"
+# Begin Source File
+
+SOURCE=.\EC_exec.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECEIC.h
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i;inl"
+# Begin Source File
+
+SOURCE=.\ECEIC.i
+# End Source File
+# End Group
+# Begin Group "Documentation"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\README
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl"
+# Begin Source File
+
+SOURCE=.\ECEI.idl
+
+!IF "$(CFG)" == "EC_exec DLL - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=.\ECEI.idl
+InputName=ECEI
+InputDir=.
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=EC_EXEC_Export -Wb,export_include=EC_exec_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "EC_exec DLL - Win32 Debug"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=.\ECEI.idl
+InputName=ECEI
+InputDir=.
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=EC_EXEC_Export -Wb,export_include=EC_exec_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec.h b/TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec.h
new file mode 100644
index 00000000000..457ec447e68
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec.h
@@ -0,0 +1,182 @@
+// $Id$
+
+//============================================================
+/**
+ * @file EC_exec.h
+ *
+ * Header file for the actualy EC and ECHome component
+ * implementation.
+ *
+ * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
+ */
+//============================================================
+
+#ifndef EC_EXEC_H
+#define EC_EXEC_H
+
+#include "ECEIC.h"
+#include "tao/LocalObject.h"
+#include "ace/Thread_Manager.h"
+#include "ace/Task.h"
+
+namespace MyImpl
+{
+ // Forward decl.
+ class EC_exec_i;
+
+ /**
+ * @brief Active pulse generater
+ */
+ class timeout_Handler : public ACE_Task_Base
+ {
+ public:
+ // Default constructor
+ timeout_Handler (EC_exec_i *cb);
+ ~timeout_Handler ();
+
+ int open (void);
+
+ int close (void);
+
+ int start (CORBA::Long hertz);
+
+ int stop (void);
+
+ int active (void);
+
+ // Handle the timeout.
+ virtual int handle_timeout (const ACE_Time_Value &tv,
+ const void *arg);
+
+ // Called when <Time_Handler> is removed.
+ virtual int handle_close (ACE_HANDLE handle,
+ ACE_Reactor_Mask close_mask);
+
+ virtual int svc (void);
+
+ private:
+ /// Tracking whether we are actively generating pulse or not.
+ long active_;
+
+ /// Flag to indicate completion of this active object.
+ int done_;
+
+ /// The timer id we are waiting.
+ int tid_;
+
+ EC_exec_i *pulse_callback_;
+
+ ACE_Thread_Manager thr_mgr_;
+ };
+
+ /**
+ * @class EC_exec_i
+ *
+ * EC executor implementation class.
+ */
+ class EC_EXEC_Export EC_exec_i :
+ public virtual BasicSP::EC_Exec,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ /// Default constructor.
+ EC_exec_i ();
+
+ /// Initialize with a default frequency.
+ EC_exec_i (CORBA::Long hz);
+
+ /// Default destructor.
+ ~EC_exec_i ();
+
+ // Attribute operations.
+
+ virtual CORBA::Long hertz (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void hertz (CORBA::Long hertz
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Operations from supported interface(s)
+
+ virtual void start (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void stop (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean active (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Operations from Components::SessionComponent
+
+ virtual void set_session_context (Components::SessionContext_ptr ctx
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void ccm_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void ccm_remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ /// Helper function to be called back by timeout_Handler
+ void pulse (void);
+
+ protected:
+ /// Frequency
+ CORBA::Long hertz_;
+
+ /// Copmponent specific context
+ BasicSP::CCM_EC_Context_var context_;
+
+ /// An active object that actually trigger the generation of
+ /// periodic events.
+ timeout_Handler pulser_;
+ };
+
+ /**
+ * @class ECHome_exec_i
+ *
+ * EC home executor implementation class.
+ */
+ class EC_EXEC_Export ECHome_exec_i :
+ public virtual BasicSP::CCM_ECHome,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ /// Default ctor.
+ ECHome_exec_i ();
+
+ /// Default dtor.
+ ~ECHome_exec_i ();
+
+ // Explicit home operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ new_EC (CORBA::Long hertz
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ // Implicit home operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+ };
+
+}
+
+extern "C" EC_EXEC_Export ::Components::HomeExecutorBase_ptr
+createECHome_Impl (void);
+
+#endif /* CIAO_ECGEN_EXEC_H */
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec_export.h b/TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec_export.h
new file mode 100644
index 00000000000..c979debf129
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec_export.h
@@ -0,0 +1,50 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl EC_EXEC
+// ------------------------------
+#ifndef EC_EXEC_EXPORT_H
+#define EC_EXEC_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (EC_EXEC_HAS_DLL)
+# define EC_EXEC_HAS_DLL 1
+#endif /* ! EC_EXEC_HAS_DLL */
+
+#if defined (EC_EXEC_HAS_DLL) && (EC_EXEC_HAS_DLL == 1)
+# if defined (EC_EXEC_BUILD_DLL)
+# define EC_EXEC_Export ACE_Proper_Export_Flag
+# define EC_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define EC_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* EC_EXEC_BUILD_DLL */
+# define EC_EXEC_Export ACE_Proper_Import_Flag
+# define EC_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define EC_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* EC_EXEC_BUILD_DLL */
+#else /* EC_EXEC_HAS_DLL == 1 */
+# define EC_EXEC_Export
+# define EC_EXEC_SINGLETON_DECLARATION(T)
+# define EC_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* EC_EXEC_HAS_DLL == 1 */
+
+// Set EC_EXEC_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (EC_EXEC_NTRACE)
+# if (ACE_NTRACE == 1)
+# define EC_EXEC_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define EC_EXEC_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !EC_EXEC_NTRACE */
+
+#if (EC_EXEC_NTRACE == 1)
+# define EC_EXEC_TRACE(X)
+#else /* (EC_EXEC_NTRACE == 1) */
+# define EC_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
+#endif /* (EC_EXEC_NTRACE == 1) */
+
+#endif /* EC_EXEC_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/EC_stub.dsp b/TAO/CIAO/examples/OEP/BasicSP/EC/EC_stub.dsp
new file mode 100644
index 00000000000..e40a8c0a169
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/EC/EC_stub.dsp
@@ -0,0 +1,178 @@
+# Microsoft Developer Studio Project File - Name="EC_stub DLL" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=EC_stub DLL - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "EC_stub.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "EC_stub.mak" CFG="EC_stub DLL - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "EC_stub DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "EC_stub DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "EC_stub DLL - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Release\EC_stub"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D EC_STUB_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\EC_stub.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\EC_stub.dll" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF "$(CFG)" == "EC_stub DLL - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Debug\EC_stub"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D EC_STUB_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /Fr /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib TAOd.lib TAO_Securityd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\EC_stubd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\EC_stubd.dll" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "EC_stub DLL - Win32 Release"
+# Name "EC_stub DLL - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=.\ECC.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hh"
+# Begin Source File
+
+SOURCE=.\ECC.h
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i;inl"
+# Begin Source File
+
+SOURCE=.\ECC.i
+# End Source File
+# End Group
+# Begin Group "Documentation"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\README
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl"
+# Begin Source File
+
+SOURCE=.\EC.idl
+
+!IF "$(CFG)" == "EC_stub DLL - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=.\EC.idl
+InputName=EC
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=EC_STUB_Export -Wb,stub_export_include=EC_stub_export.h -Wb,skel_export_macro=EC_SVNT_Export -Wb,skel_export_include=EC_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "EC_stub DLL - Win32 Debug"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=.\EC.idl
+InputName=EC
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=EC_STUB_Export -Wb,stub_export_include=EC_stub_export.h -Wb,skel_export_macro=EC_SVNT_Export -Wb,skel_export_include=EC_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\ciao -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/EC_stub_export.h b/TAO/CIAO/examples/OEP/BasicSP/EC/EC_stub_export.h
new file mode 100644
index 00000000000..2ad9df9cf12
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/EC/EC_stub_export.h
@@ -0,0 +1,50 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl EC_STUB
+// ------------------------------
+#ifndef EC_STUB_EXPORT_H
+#define EC_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (EC_STUB_HAS_DLL)
+# define EC_STUB_HAS_DLL 1
+#endif /* ! EC_STUB_HAS_DLL */
+
+#if defined (EC_STUB_HAS_DLL) && (EC_STUB_HAS_DLL == 1)
+# if defined (EC_STUB_BUILD_DLL)
+# define EC_STUB_Export ACE_Proper_Export_Flag
+# define EC_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define EC_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* EC_STUB_BUILD_DLL */
+# define EC_STUB_Export ACE_Proper_Import_Flag
+# define EC_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define EC_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* EC_STUB_BUILD_DLL */
+#else /* EC_STUB_HAS_DLL == 1 */
+# define EC_STUB_Export
+# define EC_STUB_SINGLETON_DECLARATION(T)
+# define EC_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* EC_STUB_HAS_DLL == 1 */
+
+// Set EC_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (EC_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define EC_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define EC_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !EC_STUB_NTRACE */
+
+#if (EC_STUB_NTRACE == 1)
+# define EC_STUB_TRACE(X)
+#else /* (EC_STUB_NTRACE == 1) */
+# define EC_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+#endif /* (EC_STUB_NTRACE == 1) */
+
+#endif /* EC_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/EC_svnt.dsp b/TAO/CIAO/examples/OEP/BasicSP/EC/EC_svnt.dsp
new file mode 100644
index 00000000000..29d24156218
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/EC/EC_svnt.dsp
@@ -0,0 +1,227 @@
+# Microsoft Developer Studio Project File - Name="EC_svnt DLL" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=EC_svnt DLL - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "EC_svnt.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "EC_svnt.mak" CFG="EC_svnt DLL - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "EC_svnt DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "EC_svnt DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "EC_svnt DLL - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Release\EC_svnt"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D EC_SVNT_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib EC_stub.lib BasicSP_stub.lib BasicSP_svnt.lib CIAO_Server.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Security.lib CIAO_Container.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\EC_svnt.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\EC_svnt.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF "$(CFG)" == "EC_svnt DLL - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Debug\EC_svnt"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D EC_SVNT_BUILD_DLL=1 /FD /c
+# SUBTRACT CPP /Fr /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib EC_stubd.lib BasicSP_stubd.lib BasicSP_svntd.lib CIAO_Serverd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Securityd.lib CIAO_Containerd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\EC_svntd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\EC_svntd.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "EC_svnt DLL - Win32 Release"
+# Name "EC_svnt DLL - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=.\EC_svnt.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECEC.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECS.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hh"
+# Begin Source File
+
+SOURCE=.\EC_svnt.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECEC.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECS.h
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i;inl"
+# Begin Source File
+
+SOURCE=.\ECEC.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECS.i
+# End Source File
+# End Group
+# Begin Group "Documentation"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\README
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl"
+# Begin Source File
+
+SOURCE=.\EC.cidl
+
+!IF "$(CFG)" == "EC_svnt DLL - Win32 Release"
+
+!ELSEIF "$(CFG)" == "EC_svnt DLL - Win32 Debug"
+
+USERDEP__EC_CI="..\..\..\..\..\..\bin\cidlc.exe"
+# Begin Custom Build - Invoking CIAO CIDL Compiler on $(InputPath)
+InputPath=.\EC.cidl
+InputName=EC
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\cidlc --lem-file-suffix "E.idl" -- $(InputName).cidl
+
+"$(InputName)E.idl" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)_svnt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)_svnt.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECE.idl
+
+!IF "$(CFG)" == "EC_svnt DLL - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=.\ECE.idl
+InputName=ECE
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=EC_SVNT_Export -Wb,export_include=EC_svnt_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "EC_svnt DLL - Win32 Debug"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=.\ECE.idl
+InputName=ECE
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=EC_SVNT_Export -Wb,export_include=EC_svnt_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/EC_svnt_export.h b/TAO/CIAO/examples/OEP/BasicSP/EC/EC_svnt_export.h
new file mode 100644
index 00000000000..41da2dfc871
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/EC/EC_svnt_export.h
@@ -0,0 +1,50 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl EC_SVNT
+// ------------------------------
+#ifndef EC_SVNT_EXPORT_H
+#define EC_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (EC_SVNT_HAS_DLL)
+# define EC_SVNT_HAS_DLL 1
+#endif /* ! EC_SVNT_HAS_DLL */
+
+#if defined (EC_SVNT_HAS_DLL) && (EC_SVNT_HAS_DLL == 1)
+# if defined (EC_SVNT_BUILD_DLL)
+# define EC_SVNT_Export ACE_Proper_Export_Flag
+# define EC_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define EC_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* EC_SVNT_BUILD_DLL */
+# define EC_SVNT_Export ACE_Proper_Import_Flag
+# define EC_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define EC_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* EC_SVNT_BUILD_DLL */
+#else /* EC_SVNT_HAS_DLL == 1 */
+# define EC_SVNT_Export
+# define EC_SVNT_SINGLETON_DECLARATION(T)
+# define EC_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* EC_SVNT_HAS_DLL == 1 */
+
+// Set EC_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (EC_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define EC_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define EC_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !EC_SVNT_NTRACE */
+
+#if (EC_SVNT_NTRACE == 1)
+# define EC_SVNT_TRACE(X)
+#else /* (EC_SVNT_NTRACE == 1) */
+# define EC_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+#endif /* (EC_SVNT_NTRACE == 1) */
+
+#endif /* EC_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/README b/TAO/CIAO/examples/OEP/BasicSP/EC/README
new file mode 100644
index 00000000000..7e032780ab1
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/EC/README
@@ -0,0 +1,9 @@
+/**
+
+@page EC README File
+
+ The EC component. This shouldnt be needed if we had a way to
+integrate EC sugly into CIAO. We dont at the time of writing this
+example on May 12, 2003. Hence this holy hack!
+
+*/
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/client.cpp b/TAO/CIAO/examples/OEP/BasicSP/EC/client.cpp
new file mode 100644
index 00000000000..7de404f4beb
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/EC/client.cpp
@@ -0,0 +1,72 @@
+// $Id$
+
+//==============================================================
+/**
+ * @file client.cpp
+ *
+ * This is a simple client test program that interact with the EC
+ * component implementation. This test uses the explicit factory
+ * operation in the home interface to create a EC component
+ * instance, run it for a while, and destroy the component instance.
+ */
+//==============================================================
+
+#include "ECC.h"
+
+int
+main (int argc, char *argv[])
+{
+ ACE_TRY_NEW_ENV
+ {
+ // Initialize orb
+ CORBA::ORB_var orb = CORBA::ORB_init (argc, argv ACE_ENV_ARG_PARAMETER);
+
+ // Resolve HomeFinder interface
+
+ CORBA::Object_var obj
+ = orb->string_to_object ("file://ec.ior" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ BasicSP::ECHome_var home
+ = BasicSP::ECHome::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (home.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR, "Unable to acquire ECHome objref\n"), -1);
+
+ BasicSP::EC_var pulser
+ = home->create (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // Place to plug in the rate
+ pulser->hertz (5
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ pulser->start (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_OS::sleep (45);
+
+ pulser->stop (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ home->remove_component (pulser.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Who is the culprit \n");
+ cerr << "Uncaught CORBA exception" << endl;
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/config b/TAO/CIAO/examples/OEP/BasicSP/EC/config
new file mode 100644
index 00000000000..527aa2ba7ed
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/EC/config
@@ -0,0 +1 @@
+EC_exec|createECHome_Impl|EC_svnt|createECHome_Servant
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/controller.cpp b/TAO/CIAO/examples/OEP/BasicSP/EC/controller.cpp
new file mode 100644
index 00000000000..0d6a328b217
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/EC/controller.cpp
@@ -0,0 +1,125 @@
+// $Id$
+/**
+ * @file controller.cpp
+ *
+ * This program interact with a EC component, and set the rate of the
+ * EC.
+ */
+
+
+#include "ECC.h"
+#include "ace/Get_Opt.h"
+
+
+char *rategen_ior_ = 0;
+int rate = 2;
+int turn_on = 1;
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "k:r:of");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'o':
+ turn_on = 1;
+ break;
+
+ case 'f':
+ turn_on = 0;
+ break;
+
+ case 'k':
+ rategen_ior_ = get_opts.opt_arg ();
+ break;
+
+ case 'r':
+ rate = atoi (get_opts.opt_arg ());
+ break;
+
+ case '?': // display help for use of the server.
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s\n"
+ "-o (Turn on the rate generator)\n"
+ "-f (Turn off the rate generator)\n"
+ "-k <EC IOR> (default is file://rategen.ior)\n"
+ "-r <rate in hertz> (default is 3)\n"
+ "\n",
+ argv [0]),
+ -1);
+ }
+
+ if (rategen_ior_ == 0)
+ rategen_ior_ = "file://ec.ior";
+
+ if (rate == 0)
+ rate = 3;
+
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ ACE_TRY_NEW_ENV
+ {
+ // Initialize orb
+ CORBA::ORB_var orb = CORBA::ORB_init (argc, argv ACE_ENV_ARG_PARAMETER);
+
+ if (parse_args (argc, argv) != 0)
+ return -1;
+
+ CORBA::Object_var obj
+ = orb->string_to_object (rategen_ior_
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ BasicSP::EC_var pulser
+ = BasicSP::EC::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (pulser.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR, "Unable to acquire 'EC' objref\n"), -1);
+
+ pulser->hertz (rate
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (turn_on)
+ {
+ pulser->hertz (rate
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG, "Start up the Event services\n"));
+
+ pulser->start (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ else
+ {
+ pulser->stop (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG, "Stop the ES\n"));
+ }
+
+ orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Who is the culprit \n");
+ cerr << "Uncaught CORBA exception" << endl;
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/controller.dsp b/TAO/CIAO/examples/OEP/BasicSP/EC/controller.dsp
new file mode 100644
index 00000000000..57404f8991c
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/EC/controller.dsp
@@ -0,0 +1,166 @@
+# Microsoft Developer Studio Project File - Name="controller EXE" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=controller EXE - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "controller.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "controller.mak" CFG="controller EXE - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "controller EXE - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "controller EXE - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "controller EXE - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release\controller"
+# PROP Target_Dir ""
+# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _CONSOLE=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib EC_stub.lib BasicSP_stub.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:console /machine:I386 /libpath:".." /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF "$(CFG)" == "controller EXE - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Debug\controller"
+# PROP Target_Dir ""
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _CONSOLE=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib EC_stubd.lib BasicSP_stubd.lib TAO_Securityd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:".." /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "controller EXE - Win32 Release"
+# Name "controller EXE - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=.\controller.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hh"
+# Begin Source File
+
+SOURCE=.\EC_exec.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\EC_exec_export.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\EC_stub_export.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\EC_svnt.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\EC_svnt_export.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECC.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECEC.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECEIC.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECEIS.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECES.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECS.h
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i;inl"
+# Begin Source File
+
+SOURCE=.\ECC.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECEC.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECEIC.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECEIS.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECES.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\ECS.i
+# End Source File
+# End Group
+# Begin Group "Documentation"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\README
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/NOTE.txt b/TAO/CIAO/examples/OEP/BasicSP/NOTE.txt
new file mode 100644
index 00000000000..fd1ddd8763f
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/NOTE.txt
@@ -0,0 +1,135 @@
+This directory contains various XML descriptors and configuration
+files required to compose the HUDisplay application in a variety of
+different ways. Let's go over a few important files first:
+
+test.dat:
+---------
+
+ This file describes the deployment daemons CIAO's Assembly_Manager
+ will contact to instantiate ComponentServer's, home's, and component
+ instances. Each line specify the name of a installation
+ "destination" (I used this to specify <processcollocation>
+ destination in various *.cad files) and the corresponding IOR for
+ the CIAO_Daemon. The first entry is the "default" destination the
+ deployment framework will use.
+
+ For example, test.dat now contains:
+
+ Default corbaloc:iiop:localhost:10000/ServerActivator
+ Remote corbaloc:iiop:localhost:12000/ServerActivator
+
+ You can copy and modify the copy to deploy the components in various
+ different locations to let the application truely "distributed".
+ For example, changing the remote ServerActivator to:
+ corbaloc:iiop:deuce.doc.wustl.edu:13000/ServerActivator
+
+ Remember to start up the Assembly_Manager in Step 2 using the
+ revised "test.dat" you created, and start up the CIAO_Daemon's in
+ Step 1 according to the specification.
+
+*.cad:
+------
+
+ These files specify how an application should be composed. The
+ specification includes, where to install a component, what
+ implementation to use, and how to connect components together.
+ Currently, we have:
+
+ BasicSP.cad: Plain vanilla assembly descriptor. This file install
+ all components using the "Default" (the first daemon)
+ in 'test.dat. You can see the application output
+ from the default daemon shell.
+
+Unfortunately, there's no run_test.pl for starting and running these
+example configurations/assemblies as these daemons/managers programs
+are still under development. You will need several shell windows for
+them. All the following step should be run from this subdirectory
+($CIAO_ROOT/examples/OEP/Display/descriptors/). Here are the
+steps to demonstrate the examples:
+
+Step 1:
+=======
+
+ You need to start up the CIAO daemon as specified in the
+ deployment configuration file 'test.dat' (Notice the endpoint
+ specification.) If you run more than one daemon (each with its
+ own host port), I recommend running each CIAO_Daemon in its own
+ shell window so you can tell where a component in the example
+ application is running. Here are some hints on how to start the
+ daemon:
+
+ ${CIAO_ROOT}/tools/Daemon/CIAO_Daemon -ORBEndpoint iiop://localhost:10000 -n ../../../../tools/ComponentServer/ComponentServer
+
+ and on Windows
+
+ %CIAO_ROOT%/tools/Daemon/CIAO_Daemon -ORBEndpoint iiop://localhost:10000 -n ../../../../tools/ComponentServer/ComponentServer
+
+ Note that the environment variable CIAO_ROOT must be set
+ (to TAO_ROOT/CIAO).
+
+Step 2:
+=======
+
+ Next, you will need to start up the Assembly_Manager which actually
+ does the assembly work. This should also be started in a separate
+ shell window.
+
+ ${CIAO_ROOT}/tools/Assembly_Deployer/Assembly_Manager -o ior -c test.dat
+
+ or
+
+ %CIAO_ROOT%/tools/Assembly_Deployer/Assembly_Manager -o ior -c test.dat
+
+Step 3:
+=======
+
+ You then need to instruct the Assembly_Manager to deploy a specific
+ component assembly descriptor. For example:
+
+ ${CIAO_ROOT}/tools/Assembly_Deployer/Assembly_Deployer -k file://ior -a BasicSP.cad
+
+ or
+
+ %CIAO_ROOT%/tools/Assembly_Deployer/Assembly_Deployer -k file://ior -a BasicSP.cad
+
+Step 4:
+=======
+
+ All the .cad files instruct the Assembly_Manager to write the IOR of
+ the RateGen component to a file called "rategen.ior" in this
+ directory. You will then need to use a controller program in a
+ separate shell window to switch on/off the Rate Generator. Cont
+
+ Execute the controller with:
+
+ ..\EC\controller -o # To switch on the EC component
+
+ See its source to check what options are available to start up the
+ controller. (Hints: you can control the rate (hertz) of the Rate
+ Generator component.)
+
+ Once the controller is running, check out the Daemon window for
+ text-based BMClosedED and BMDisplay components. Once you are
+ happy with it, you can stop the EC component by executing the
+ controller as:
+
+ ../EC/controller -f # To switch off the EC component
+
+ Repeat this step again to instruct the EC component to start
+ generating events.
+
+Step 5:
+=======
+
+ Once you are done with the test. Press <enter> in the shell window
+ running Assembly_Deployer that you started in Step 3. This will
+ tear_down the application, kill all ComponentServer's, and terminate
+ both the Assembly_Deployer and Assembly_Manager process.
+
+ Repeat Step 2-5 using different configurations and assembly
+ descriptors.
+
+Step 6:
+=======
+
+ Terminate CIAO_Daemon (either using ^C or DaemonController.)
diff --git a/TAO/CIAO/examples/OEP/BasicSP/README b/TAO/CIAO/examples/OEP/BasicSP/README
new file mode 100644
index 00000000000..d06ab0e1e43
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/README
@@ -0,0 +1,16 @@
+/**
+
+@page BasicSP README File
+
+ The most basic of the Boeing scenarios that form part of the
+OEP. This is done to illustrate how the OEP can be implemented using
+CIAO.
+
+ This example does not yet use MPC to generate MSVC
+projects/workspaces/solutions or makefiles - we are still
+working on getting the execution of the CIDL compiler
+integrated into MPC. The CIDL compiler execution has
+been added to MSVC projects, which for now are checked
+into the CVS repository.
+
+*/
diff --git a/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMClosedED.csd b/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMClosedED.csd
new file mode 100644
index 00000000000..e814dfcbc13
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMClosedED.csd
@@ -0,0 +1,45 @@
+<?xml version="1.0"?> <!-- -*- SGML -*- -->
+
+<!-- If this file is moved to a different directory, make sure to change the
+ path to the DTD below. Otherwise the examples won't work. -->
+<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
+
+<!-- GPS's Software Package Descriptor -->
+<!-- This file describes various GPS executor -->
+<!-- implementations. -->
+
+
+<softpkg name="CIAO-BMClosedED" version="1.0">
+ <pkgtype>CORBA Component</pkgtype>
+ <title>BMClosedED</title>
+ <author>
+ <company>ISIS at Vanderbilt University</company>
+ <webpage href="http://www.cs.wustl.edu/~doc/"/>
+ </author>
+ <description>A BMClosedED executor implementation.</description>
+ <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
+ <idl id="IDL:BasicSP/BMClosedED:1.0" homeid="IDL:BasicSP/BMClosedEDHome:1.0">
+ <fileinarchive name="BMClosedED.idl"/>
+ </idl>
+
+ <descriptor type="CORBA Component">
+ <fileinarchive name="BMClosedED.ccd"/>
+ </descriptor>
+
+ <implementation id="DCE:8E6C468D-A39F-46b4-962B-265F1AA8D538">
+
+ <dependency type="CIAODLL">
+ <softpkgref>
+ <fileinarchive name="BMClosedED.ssd"/>
+ <implref idref="DCE:CDC06FCA-50FC-43ca-8ECC-BEFBD33FEE78"/>
+ </softpkgref>
+ </dependency>
+
+ <code type="DLL">
+ <fileinarchive name="BMClosedED_exec"/>
+ <entrypoint>createBMClosedEDHome_Impl</entrypoint>
+ </code>
+
+ </implementation>
+
+</softpkg>
diff --git a/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMClosedED.ssd b/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMClosedED.ssd
new file mode 100644
index 00000000000..8ef62ebaa1c
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMClosedED.ssd
@@ -0,0 +1,43 @@
+<?xml version="1.0"?> <!-- -*- SGML -*- -->
+
+<!-- If this file is moved to a different directory, make sure to change the
+ path to the DTD below. Otherwise the examples won't work. -->
+<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
+
+<!-- RateGen's Servant Software Descriptor -->
+<!-- This file describes various RateGen servant -->
+<!-- implementations. -->
+
+
+<softpkg name="CIAO-BMClosedED-Servant" version="1.0">
+ <pkgtype>CIAO Servant</pkgtype>
+ <title>BasicSP::BMDevice Servants</title>
+ <author>
+ <company>ISIS at Vanderbilt University</company>
+ <webpage href="http://www.dre.vanderbilt.edu/"/>
+ </author>
+ <description>A EC event generator implementation.</description>
+ <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
+ <idl id="IDL:BasicSP/BMClosedED:1.0" homeid="IDL:BasicSP/BMClosedEDHome:1.0">
+ <fileinarchive name="BMClosedED.idl"/>
+ </idl>
+
+ <descriptor type="CORBA Component">
+ <fileinarchive name="BMClosedED.ccd"/>
+ </descriptor>
+
+ <implementation id="DCE:CDC06FCA-50FC-43ca-8ECC-BEFBD33FEE78">
+
+ <dependency type="ORB">
+ <name>TAO</name>
+ </dependency>
+
+ <code>
+ <!-- No need to specify extension below since ACE takes care of that, -->
+ <fileinarchive name="BMClosedED_svnt"/>
+ <entrypoint>createBMClosedEDHome_Servant</entrypoint>
+ </code>
+
+ </implementation>
+
+</softpkg>
diff --git a/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDevice.csd b/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDevice.csd
new file mode 100644
index 00000000000..d4ae1236c6c
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDevice.csd
@@ -0,0 +1,46 @@
+<?xml version="1.0"?> <!-- -*- SGML -*- -->
+
+<!-- If this file is moved to a different directory, make sure to change the
+ path to the DTD below. Otherwise the examples won't work. -->
+<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
+
+<!-- GPS's Software Package Descriptor -->
+<!-- This file describes various GPS executor -->
+<!-- implementations. -->
+
+
+<softpkg name="CIAO-BMDevice" version="1.0">
+ <pkgtype>CORBA Component</pkgtype>
+ <title>BMDevice</title>
+ <author>
+ <company>ISIS at Vanderbilt University</company>
+ <webpage href="http://www.cs.wustl.edu/~doc/"/>
+ </author>
+ <description>A BMDevice executor implementation.</description>
+ <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
+ <idl id="IDL:BasicSP/BMDevice:1.0" homeid="IDL:BasicSP/BMDeviceHome:1.0">
+ <fileinarchive name="BMDevice.idl"/>
+ </idl>
+
+ <descriptor type="CORBA Component">
+ <fileinarchive name="BMDevice.ccd"/>
+ </descriptor>
+
+ <implementation id="DCE:82C2B032-37F0-4315-A59F-7020D3264E4D">
+
+ <!-- CIAO extension -->
+ <dependency type="CIAODLL">
+ <softpkgref>
+ <fileinarchive name="BMDevice.ssd"/>
+ <implref idref="DCE:93D254CF-9538-44e8-BB98-AABCD134ADD3"/>
+ </softpkgref>
+ </dependency>
+
+ <code type="DLL">
+ <fileinarchive name="BMDevice_exec"/>
+ <entrypoint>createBMDeviceHome_Impl</entrypoint>
+ </code>
+
+ </implementation>
+
+</softpkg>
diff --git a/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDevice.ssd b/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDevice.ssd
new file mode 100644
index 00000000000..500a6284df0
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDevice.ssd
@@ -0,0 +1,43 @@
+<?xml version="1.0"?> <!-- -*- SGML -*- -->
+
+<!-- If this file is moved to a different directory, make sure to change the
+ path to the DTD below. Otherwise the examples won't work. -->
+<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
+
+<!-- RateGen's Servant Software Descriptor -->
+<!-- This file describes various RateGen servant -->
+<!-- implementations. -->
+
+
+<softpkg name="CIAO-BMDevice-Servant" version="1.0">
+ <pkgtype>CIAO Servant</pkgtype>
+ <title>BasicSP::BMDevice Servants</title>
+ <author>
+ <company>ISIS at Vanderbilt University</company>
+ <webpage href="http://www.dre.vanderbilt.edu/"/>
+ </author>
+ <description>A EC event generator implementation.</description>
+ <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
+ <idl id="IDL:BasicSP/BMDevice:1.0" homeid="IDL:BasicSP/BMDeviceHome:1.0">
+ <fileinarchive name="BMDevice.idl"/>
+ </idl>
+
+ <descriptor type="CORBA Component">
+ <fileinarchive name="BMDevice.ccd"/>
+ </descriptor>
+
+ <implementation id="DCE:93D254CF-9538-44e8-BB98-AABCD134ADD3">
+
+ <dependency type="ORB">
+ <name>TAO</name>
+ </dependency>
+
+ <code>
+ <!-- No need to specify extension below since ACE takes care of that, -->
+ <fileinarchive name="EC_svnt"/>
+ <entrypoint>createBMDeviceHome_Servant</entrypoint>
+ </code>
+
+ </implementation>
+
+</softpkg>
diff --git a/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDisplay.csd b/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDisplay.csd
new file mode 100644
index 00000000000..1f1d5ff0060
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDisplay.csd
@@ -0,0 +1,46 @@
+<?xml version="1.0"?> <!-- -*- SGML -*- -->
+
+<!-- If this file is moved to a different directory, make sure to change the
+ path to the DTD below. Otherwise the examples won't work. -->
+<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
+
+<!-- GPS's Software Package Descriptor -->
+<!-- This file describes various GPS executor -->
+<!-- implementations. -->
+
+
+<softpkg name="CIAO-BMDisplay" version="1.0">
+ <pkgtype>CORBA Component</pkgtype>
+ <title>BMDisplay</title>
+ <author>
+ <company>ISIS at Vanderbilt University</company>
+ <webpage href="http://www.cs.wustl.edu/~doc/"/>
+ </author>
+ <description>A BMDisplay executor implementation.</description>
+ <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
+ <idl id="IDL:BasicSP/BMDisplay:1.0" homeid="IDL:BasicSP/BMDisplayHome:1.0">
+ <fileinarchive name="BMDisplay.idl"/>
+ </idl>
+
+ <descriptor type="CORBA Component">
+ <fileinarchive name="BMDisplay.ccd"/>
+ </descriptor>
+
+ <implementation id="DCE:8E92655E-CA07-46C8-B127-0F0872A8CC29">
+
+ <!-- CIAO extension -->
+ <dependency type="CIAODLL">
+ <softpkgref>
+ <fileinarchive name="BMDisplay.ssd"/>
+ <implref idref="DCE:D7984625-8561-431d-9927-4E498B317C02"/>
+ </softpkgref>
+ </dependency>
+
+ <code type="DLL">
+ <fileinarchive name="BMDisplay_exec"/>
+ <entrypoint>createBMDisplayHome_Impl</entrypoint>
+ </code>
+
+ </implementation>
+
+</softpkg>
diff --git a/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDisplay.ssd b/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDisplay.ssd
new file mode 100644
index 00000000000..37949ebccb6
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDisplay.ssd
@@ -0,0 +1,43 @@
+<?xml version="1.0"?> <!-- -*- SGML -*- -->
+
+<!-- If this file is moved to a different directory, make sure to change the
+ path to the DTD below. Otherwise the examples won't work. -->
+<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
+
+<!-- RateGen's Servant Software Descriptor -->
+<!-- This file describes various RateGen servant -->
+<!-- implementations. -->
+
+
+<softpkg name="CIAO-BMDisplay-Servant" version="1.0">
+ <pkgtype>CIAO Servant</pkgtype>
+ <title>BasicSP::BMDisplay Servants</title>
+ <author>
+ <company>ISIS at Vanderbilt University</company>
+ <webpage href="http://www.dre.vanderbilt.edu/"/>
+ </author>
+ <description>A EC event generator implementation.</description>
+ <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
+ <idl id="IDL:BasicSP/BMDisplay:1.0" homeid="IDL:BasicSP/BMDisplayHome:1.0">
+ <fileinarchive name="BMDisplay.idl"/>
+ </idl>
+
+ <descriptor type="CORBA Component">
+ <fileinarchive name="BMDisplay.ccd"/>
+ </descriptor>
+
+ <implementation id="DCE:D7984625-8561-431d-9927-4E498B317C02">
+
+ <dependency type="ORB">
+ <name>TAO</name>
+ </dependency>
+
+ <code>
+ <!-- No need to specify extension below since ACE takes care of that, -->
+ <fileinarchive name="BMDisplay_svnt"/>
+ <entrypoint>createBMDisplayHome_Servant</entrypoint>
+ </code>
+
+ </implementation>
+
+</softpkg>
diff --git a/TAO/CIAO/examples/OEP/BasicSP/descriptors/BasicSP.cad b/TAO/CIAO/examples/OEP/BasicSP/descriptors/BasicSP.cad
new file mode 100644
index 00000000000..bd727f4475c
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/descriptors/BasicSP.cad
@@ -0,0 +1,109 @@
+<?xml version="1.0"?> <!-- -*- SGML -*- -->
+
+<!-- If this file is moved to a different directory, make sure to change the
+ path to the DTD below. Otherwise the examples won't work. -->
+<!DOCTYPE componentassembly SYSTEM "../../../../docs/XML/componentassembly.dtd">
+
+<componentassembly id="Single-process Basic assembly">
+ <componentfiles>
+ <componentfile id="com-EC">
+ <fileinarchive name="EC.csd"/>
+ </componentfile>
+ <componentfile id="com-BMDevice">
+ <fileinarchive name="BMDevice.csd"/>
+ </componentfile>
+ <componentfile id="com-BMClosedED">
+ <fileinarchive name="BMClosedED.csd"/>
+ </componentfile>
+ <componentfile id="com-BMDisplay">
+ <fileinarchive name="BMDisplay.csd"/>
+ </componentfile>
+ </componentfiles>
+
+ <partitioning>
+
+ <!-- A plain vanilla partition. We don't even need the processcollocation tag here. -->
+ <homeplacement id="a_ECHome">
+ <componentfileref idref="com-EC"/>
+ <componentinstantiation id="a_EC">
+ <registercomponent>
+ <!-- writeiortofile is a non-standard CIAO extension. -->
+ <writeiortofile name="ec.ior"/>
+ </registercomponent>
+ </componentinstantiation>
+ </homeplacement>
+ <homeplacement id="a_BMDeviceHome">
+ <componentfileref idref="com-BMDevice"/>
+ <componentinstantiation id="a_BMDevice"/>
+ </homeplacement>
+ <homeplacement id="a_BMClosedEDHome">
+ <componentfileref idref="com-BMClosedED"/>
+ <componentinstantiation id="a_BMClosedED"/>
+ </homeplacement>
+ <homeplacement id="a_BMDisplayHome">
+ <componentfileref idref="com-BMDisplay"/>
+ <componentinstantiation id="a_BMDisplay"/>
+ </homeplacement>
+
+ </partitioning>
+
+ <connections>
+
+ <connectevent>
+ <consumesport>
+ <consumesidentifier>timeout</consumesidentifier>
+ <componentinstantiationref idref="a_BMDevice"/>
+ </consumesport>
+ <publishesport>
+ <publishesidentifier>timeout</publishesidentifier>
+ <componentinstantiationref idref="a_EC"/>
+ </publishesport>
+ </connectevent>
+
+ <connectevent>
+ <consumesport>
+ <consumesidentifier>in_avail</consumesidentifier>
+ <componentinstantiationref idref="a_BMClosedED"/>
+ </consumesport>
+ <publishesport>
+ <publishesidentifier>data_available</publishesidentifier>
+ <componentinstantiationref idref="a_BMDevice"/>
+ </publishesport>
+ </connectevent>
+
+ <connectevent>
+ <consumesport>
+ <consumesidentifier>data_ready</consumesidentifier>
+ <componentinstantiationref idref="a_BMDisplay"/>
+ </consumesport>
+ <publishesport>
+ <publishesidentifier>out_avail</publishesidentifier>
+ <componentinstantiationref idref="a_BMClosedED"/>
+ </publishesport>
+ </connectevent>
+
+ <connectinterface>
+ <usesport>
+ <usesidentifier>datain</usesidentifier>
+ <componentinstantiationref idref="a_BMClosedED"/>
+ </usesport>
+ <providesport>
+ <providesidentifier>data_read</providesidentifier>
+ <componentinstantiationref idref="a_BMDevice"/>
+ </providesport>
+ </connectinterface>
+
+ <connectinterface>
+ <usesport>
+ <usesidentifier>comp_data</usesidentifier>
+ <componentinstantiationref idref="a_BMDisplay"/>
+ </usesport>
+ <providesport>
+ <providesidentifier>dataout</providesidentifier>
+ <componentinstantiationref idref="a_BMClosedED"/>
+ </providesport>
+ </connectinterface>
+
+ </connections>
+
+</componentassembly>
diff --git a/TAO/CIAO/examples/OEP/BasicSP/descriptors/CIAO_Installation_Data.ini b/TAO/CIAO/examples/OEP/BasicSP/descriptors/CIAO_Installation_Data.ini
new file mode 100644
index 00000000000..ba2027881c1
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/descriptors/CIAO_Installation_Data.ini
@@ -0,0 +1,9 @@
+[ComponentInstallation]
+DCE:75309233-0E0A-4cfb-B186-3E99F69B1D40=EC_svnt
+DCE:82C2B032-37F0-4315-A59F-7020D3264E4D=BMDevice_exec
+DCE:8E92655E-CA07-46C8-B127-0F0872A8CC29=BMDisplay_exec
+DCE:93D254CF-9538-44e8-BB98-AABCD134ADD3=BMDevice_svnt
+DCE:CDC06FCA-50FC-43ca-8ECC-BEFBD33FEE78=BMClosedED_svnt
+DCE:8E6C468D-A39F-46b4-962B-265F1AA8D538=BMClosedED_exec
+DCE:D7984625-8561-431d-9927-4E498B317C02=BMDisplay_svnt
+DCE:3148F760-F2ED-4204-A775-6B972C10E8CB=EC_exec
diff --git a/TAO/CIAO/examples/OEP/BasicSP/descriptors/EC.csd b/TAO/CIAO/examples/OEP/BasicSP/descriptors/EC.csd
new file mode 100644
index 00000000000..562ac252743
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/descriptors/EC.csd
@@ -0,0 +1,46 @@
+<?xml version="1.0"?> <!-- -*- SGML -*- -->
+
+<!-- If this file is moved to a different directory, make sure to change the
+ path to the DTD below. Otherwise the examples won't work. -->
+<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
+
+<!-- RateGen's Software Package Descriptor -->
+<!-- This file describes various RateGen executor -->
+<!-- implementations. -->
+
+
+<softpkg name="CIAO-EC" version="1.0">
+ <pkgtype>CORBA Component</pkgtype>
+ <title>EC</title>
+ <author>
+ <company>ISIS at Vanderbilt University</company>
+ <webpage href="http://www.dre.vanderbilt.edu/"/>
+ </author>
+ <description>A Event executor implementation.</description>
+ <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
+ <idl id="IDL:BasicSP/EC:1.0" homeid="IDL:BasicSP/ECHome:1.0">
+ <fileinarchive name="EC.idl"/>
+ </idl>
+ <descriptor type="CORBA Component">
+ <fileinarchive name="EC.ccd"/>
+ </descriptor>
+ <implementation id="DCE:3148F760-F2ED-4204-A775-6B972C10E8CB">
+
+ <!-- CIAO extension -->
+ <dependency type="CIAODLL">
+ <softpkgref>
+ <!-- .ssd stands for Servant Software Descriptors which is a CIAO extension -->
+ <fileinarchive name="EC.ssd"/>
+ <implref idref="DCE:75309233-0E0A-4cfb-B186-3E99F69B1D40"/>
+ </softpkgref>
+ </dependency>
+
+ <code type="DLL">
+ <!-- No need to specify extension below since ACE takes care of that, -->
+ <fileinarchive name="EC_exec"/>
+ <entrypoint>createECHome_Impl</entrypoint>
+ </code>
+
+ </implementation>
+
+</softpkg>
diff --git a/TAO/CIAO/examples/OEP/BasicSP/descriptors/EC.ssd b/TAO/CIAO/examples/OEP/BasicSP/descriptors/EC.ssd
new file mode 100644
index 00000000000..02110072580
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/descriptors/EC.ssd
@@ -0,0 +1,43 @@
+<?xml version="1.0"?> <!-- -*- SGML -*- -->
+
+<!-- If this file is moved to a different directory, make sure to change the
+ path to the DTD below. Otherwise the examples won't work. -->
+<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
+
+<!-- RateGen's Servant Software Descriptor -->
+<!-- This file describes various RateGen servant -->
+<!-- implementations. -->
+
+
+<softpkg name="CIAO-EC-Servant" version="1.0">
+ <pkgtype>CIAO Servant</pkgtype>
+ <title>BasicSP::EC Servants</title>
+ <author>
+ <company>ISIS at Vanderbilt University</company>
+ <webpage href="http://www.dre.vanderbilt.edu/"/>
+ </author>
+ <description>A EC event generator implementation.</description>
+ <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
+ <idl id="IDL:BasicSP/EC:1.0" homeid="IDL:BasicSP/ECHome:1.0">
+ <fileinarchive name="EC.idl"/>
+ </idl>
+
+ <descriptor type="CORBA Component">
+ <fileinarchive name="EC.ccd"/>
+ </descriptor>
+
+ <implementation id="DCE:75309233-0E0A-4cfb-B186-3E99F69B1D40">
+
+ <dependency type="ORB">
+ <name>TAO</name>
+ </dependency>
+
+ <code>
+ <!-- No need to specify extension below since ACE takes care of that, -->
+ <fileinarchive name="EC_svnt"/>
+ <entrypoint>createECHome_Servant</entrypoint>
+ </code>
+
+ </implementation>
+
+</softpkg>
diff --git a/TAO/CIAO/examples/OEP/BasicSP/descriptors/daemon.ior b/TAO/CIAO/examples/OEP/BasicSP/descriptors/daemon.ior
new file mode 100644
index 00000000000..b9ce8f5be72
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/descriptors/daemon.ior
@@ -0,0 +1 @@
+IOR:010000001400000049444c3a4349414f2f4461656d6f6e3a312e3000010000000000000064000000010102cd0a0000006c6f63616c686f73740010271b00000014010f00525354427fd73ea0c70b00000000000100000001000000cd02000000000000000800000001cdcdcd004f4154010000001400000001cdcdcd01000100000000000901010000000000 \ No newline at end of file
diff --git a/TAO/CIAO/examples/OEP/BasicSP/descriptors/ec.ior b/TAO/CIAO/examples/OEP/BasicSP/descriptors/ec.ior
new file mode 100644
index 00000000000..86b043e4d78
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/descriptors/ec.ior
@@ -0,0 +1 @@
+IOR:010000001300000049444c3a426173696353502f45433a312e300000010000000000000080000000010102cd1e0000006375726d756467656f6e2e6472652e76616e64657262696c742e656475002c0c2300000014010f004e5354637fd73edf720d0001000000010000000100000001000000020000000002000000000000000800000001cdcdcd004f4154010000001400000001cdcdcd01000100000000000901010000000000 \ No newline at end of file
diff --git a/TAO/CIAO/examples/OEP/BasicSP/descriptors/test.dat b/TAO/CIAO/examples/OEP/BasicSP/descriptors/test.dat
new file mode 100644
index 00000000000..d26b3d4e070
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/BasicSP/descriptors/test.dat
@@ -0,0 +1,2 @@
+Default corbaloc:iiop:localhost:10000/ServerActivator
+Remote corbaloc:iiop:localhost:12000/ServerActivator \ No newline at end of file