summaryrefslogtreecommitdiff
path: root/modules/CIAO/RACE
diff options
context:
space:
mode:
authorjai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2007-01-29 21:15:18 +0000
committerjai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2007-01-29 21:15:18 +0000
commitb71531b42b3325fd6079a7039aae8641262c8adf (patch)
treea5b9aa16924c541fcb424ee9460b1ac7f5a89352 /modules/CIAO/RACE
parenta0f67cc97c0050d907145e312135b60c0125e56e (diff)
downloadATCD-DS-main.tar.gz
branching/taggingDS-main
Diffstat (limited to 'modules/CIAO/RACE')
-rw-r--r--modules/CIAO/RACE/Controller/Component/Controller.cidl28
-rw-r--r--modules/CIAO/RACE/Controller/Component/Controller.idl64
-rw-r--r--modules/CIAO/RACE/Controller/Component/Controller.mpc64
-rw-r--r--modules/CIAO/RACE/Controller/Component/Controller_exec.cpp160
-rw-r--r--modules/CIAO/RACE/Controller/Component/Controller_exec.h120
-rw-r--r--modules/CIAO/RACE/Controller/Component/Controller_exec_export.h54
-rw-r--r--modules/CIAO/RACE/Controller/Component/Controller_stub_export.h54
-rw-r--r--modules/CIAO/RACE/Controller/Component/Controller_svnt_export.h54
-rw-r--r--modules/CIAO/RACE/Input_Adapters/Base/Input_Adapter.idl21
-rw-r--r--modules/CIAO/RACE/Input_Adapters/Base/Input_Adapter.mpc59
-rw-r--r--modules/CIAO/RACE/Input_Adapters/Base/Input_Adapter_stub_export.h54
-rw-r--r--modules/CIAO/RACE/Input_Adapters/Base/Input_Adapter_svnt_export.h54
-rw-r--r--modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter.cidl25
-rw-r--r--modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter.idl22
-rw-r--r--modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter.mpc95
-rw-r--r--modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter_exec.cpp167
-rw-r--r--modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter_exec.h132
-rw-r--r--modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter_exec_export.h54
-rw-r--r--modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter_stub_export.h54
-rw-r--r--modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter_svnt_export.h54
-rw-r--r--modules/CIAO/RACE/Input_Adapters/LocationUpdater/Injector.cpp185
-rw-r--r--modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater.cdp97
-rw-r--r--modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater.cidl27
-rw-r--r--modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater.idl34
-rw-r--r--modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater_deployment.dat1
-rw-r--r--modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater_exec.cpp312
-rw-r--r--modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater_exec.h121
-rw-r--r--modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater_exec_export.h58
-rw-r--r--modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater_stub_export.h58
-rw-r--r--modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater_svnt_export.h58
-rw-r--r--modules/CIAO/RACE/Input_Adapters/LocationUpdater/Location_Updater.mpc.disable119
-rw-r--r--modules/CIAO/RACE/Input_Adapters/LocationUpdater/PCVisitorBase.cpp24
-rw-r--r--modules/CIAO/RACE/Input_Adapters/LocationUpdater/PCVisitorBase.h214
-rw-r--r--modules/CIAO/RACE/Input_Adapters/LocationUpdater/PCVisitorBase.inl162
-rw-r--r--modules/CIAO/RACE/Input_Adapters/LocationUpdater/PlanUpdater.cpp269
-rw-r--r--modules/CIAO/RACE/Input_Adapters/LocationUpdater/PlanUpdater.h158
-rw-r--r--modules/CIAO/RACE/Input_Adapters/LocationUpdater/README.txt12
-rw-r--r--modules/CIAO/RACE/Input_Adapters/PlanGenerator/Injector.cpp180
-rw-r--r--modules/CIAO/RACE/Input_Adapters/PlanGenerator/PCVisitorBase.cpp24
-rw-r--r--modules/CIAO/RACE/Input_Adapters/PlanGenerator/PCVisitorBase.h214
-rw-r--r--modules/CIAO/RACE/Input_Adapters/PlanGenerator/PCVisitorBase.inl162
-rw-r--r--modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator.cdp86
-rw-r--r--modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator.cidl26
-rw-r--r--modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator.cpp451
-rw-r--r--modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator.h151
-rw-r--r--modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator.idl33
-rw-r--r--modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator.mpc.disable118
-rw-r--r--modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator_deployment.dat1
-rw-r--r--modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator_exec.cpp265
-rw-r--r--modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator_exec.h121
-rw-r--r--modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator_exec_export.h58
-rw-r--r--modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator_stub_export.h58
-rw-r--r--modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator_svnt_export.h58
-rw-r--r--modules/CIAO/RACE/Input_Adapters/PlanGenerator/README.txt15
-rw-r--r--modules/CIAO/RACE/Output_Adapters/Base/Output_Adapter.idl19
-rw-r--r--modules/CIAO/RACE/Output_Adapters/Base/Output_Adapter.mpc60
-rw-r--r--modules/CIAO/RACE/Output_Adapters/Base/Output_Adapter_stub_export.h54
-rw-r--r--modules/CIAO/RACE/Output_Adapters/Base/Output_Adapter_svnt_export.h54
-rw-r--r--modules/CIAO/RACE/Output_Adapters/Component/Output_Manager.idl18
-rw-r--r--modules/CIAO/RACE/Output_Adapters/Interface/Output_Adapter_Interface.mpc58
-rw-r--r--modules/CIAO/RACE/Output_Adapters/Interface/Output_Adapter_Interface_stub_export.h54
-rw-r--r--modules/CIAO/RACE/Output_Adapters/Interface/Output_Adapter_Interface_svnt_export.h54
-rw-r--r--modules/CIAO/RACE/Output_Adapters/Interface/PlanEgress.idl22
-rw-r--r--modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter.cidl25
-rw-r--r--modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter.idl21
-rw-r--r--modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter.mpc76
-rw-r--r--modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter_exec.cpp198
-rw-r--r--modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter_exec.h152
-rw-r--r--modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter_exec_export.h54
-rw-r--r--modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter_stub_export.h54
-rw-r--r--modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter_svnt_export.h54
-rw-r--r--modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer.cidl25
-rw-r--r--modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer.idl32
-rw-r--r--modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer.mpc100
-rw-r--r--modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer_exec.cpp205
-rw-r--r--modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer_exec.h156
-rw-r--r--modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer_exec_export.h54
-rw-r--r--modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer_stub_export.h54
-rw-r--r--modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer_svnt_export.h54
-rw-r--r--modules/CIAO/RACE/Plan_Analyzer/Interface/PlanIngress.idl22
-rw-r--r--modules/CIAO/RACE/Plan_Analyzer/Interface/Plan_Analyzer_Interface.mpc58
-rw-r--r--modules/CIAO/RACE/Plan_Analyzer/Interface/Plan_Analyzer_Interface_stub_export.h54
-rw-r--r--modules/CIAO/RACE/Plan_Analyzer/Interface/Plan_Analyzer_Interface_svnt_export.h54
-rw-r--r--modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager.cidl28
-rw-r--r--modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager.idl32
-rw-r--r--modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager.mpc103
-rw-r--r--modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager_exec.cpp206
-rw-r--r--modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager_exec.h157
-rw-r--r--modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager_exec_export.h54
-rw-r--r--modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager_stub_export.h54
-rw-r--r--modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager_svnt_export.h54
-rw-r--r--modules/CIAO/RACE/Planner_Manager/Interface/Planner_Manager_I.idl24
-rw-r--r--modules/CIAO/RACE/Planner_Manager/Interface/Planner_Manager_Interface.mpc60
-rw-r--r--modules/CIAO/RACE/Planner_Manager/Interface/Planner_Manager_Interface_stub_export.h54
-rw-r--r--modules/CIAO/RACE/Planner_Manager/Interface/Planner_Manager_Interface_svnt_export.h54
-rw-r--r--modules/CIAO/RACE/Planners/Base/Planner.idl24
-rw-r--r--modules/CIAO/RACE/Planners/Base/Planner.mpc60
-rw-r--r--modules/CIAO/RACE/Planners/Base/Planner_stub_export.h54
-rw-r--r--modules/CIAO/RACE/Planners/Base/Planner_svnt_export.h54
-rw-r--r--modules/CIAO/RACE/Planners/Interface/Planner_I.idl22
-rw-r--r--modules/CIAO/RACE/Planners/Interface/Planner_Interface.mpc58
-rw-r--r--modules/CIAO/RACE/Planners/Interface/Planner_Interface_stub_export.h54
-rw-r--r--modules/CIAO/RACE/Planners/Interface/Planner_Interface_svnt_export.h54
-rw-r--r--modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker.cidl25
-rw-r--r--modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker.idl23
-rw-r--r--modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker.mpc100
-rw-r--r--modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker_exec.cpp230
-rw-r--r--modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker_exec.h170
-rw-r--r--modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker_exec_export.h54
-rw-r--r--modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker_stub_export.h54
-rw-r--r--modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker_svnt_export.h54
-rw-r--r--modules/CIAO/RACE/common/RACE_common.idl17
-rw-r--r--modules/CIAO/RACE/common/RACE_common.mpc58
-rw-r--r--modules/CIAO/RACE/common/RACE_common_stub_export.h54
-rw-r--r--modules/CIAO/RACE/common/RACE_common_svnt_export.h54
-rw-r--r--modules/CIAO/RACE/descriptors/Deployment.xsd776
-rw-r--r--modules/CIAO/RACE/descriptors/Modified_Deployment.xsd790
-rw-r--r--modules/CIAO/RACE/descriptors/XMI.xsd35
-rw-r--r--modules/CIAO/RACE/descriptors/deployment.dat1
-rw-r--r--modules/CIAO/RACE/descriptors/flattened_deploymentplan.cdp361
120 files changed, 11330 insertions, 0 deletions
diff --git a/modules/CIAO/RACE/Controller/Component/Controller.cidl b/modules/CIAO/RACE/Controller/Component/Controller.cidl
new file mode 100644
index 00000000000..0122563c69a
--- /dev/null
+++ b/modules/CIAO/RACE/Controller/Component/Controller.cidl
@@ -0,0 +1,28 @@
+// $Id$
+#ifndef RACE_CONTROLLER_CIDL
+#define RACE_CONTROLLER_CIDL
+
+/*
+ * @file Controller.cidl
+ * @brief This file contains the Controller component implementation defination.
+ */
+
+#include "Controller.idl"
+
+module CIAO
+{
+ module RACE
+ {
+ composition session Controller_Impl
+ {
+ home executor Controller_Home_Exec
+ {
+ implements Controller_Home;
+ manages Controller_Exec;
+ };
+ };
+ };
+};
+
+
+#endif /* RACE_CONTROLLER_CIDL */
diff --git a/modules/CIAO/RACE/Controller/Component/Controller.idl b/modules/CIAO/RACE/Controller/Component/Controller.idl
new file mode 100644
index 00000000000..3d2959995df
--- /dev/null
+++ b/modules/CIAO/RACE/Controller/Component/Controller.idl
@@ -0,0 +1,64 @@
+// $Id$
+
+#ifndef RACE_CONTROLLER_IDL
+#define RACE_CONTROLLER_IDL
+
+/**
+ * @file Controller.idl
+ *
+ * @brief Controller Component of RACE.
+ *
+ * This file declares a Controller of the RACE framework.
+ *
+ * @author Nishanth Shankaran <nshankar@dre.vanderbilt.edu>
+ */
+
+#include <Components.idl>
+#include "ciao/Deployment_Target_Data.idl"
+#include "DAnCE/TargetManager/TargetManagerExt.idl"
+
+/**
+ * @module CIAO
+ * @brief The CIAO module.
+ */
+module CIAO
+{
+ module RACE
+ {
+
+ /**
+ * @interface Trigger
+ * @brief This interface is used to start and stop
+ * the feedback loop of the controller.
+ */
+ interface Trigger
+ {
+ oneway void start ();
+
+ oneway void stop ();
+ };
+
+ /**
+ * @component Controller
+ * @brief The Controller component of RACE.
+ */
+
+ component Controller supports Trigger
+ {
+ uses TargetManagerExt target_mgr_ext;
+ uses ::Deployment::TargetManager targer_mgr;
+
+ /// @todo Need to integrate the receptacle for the BDC facet into
+ /// the controller.
+ // uses BDC_QoS bdc;
+
+ /// The sampling period of the controller.
+ readonly attribute double sampling_period;
+ };
+
+ home Controller_Home manages Controller
+ {
+ };
+ };
+};
+#endif /* RACE_CONTROLLER_IDL */
diff --git a/modules/CIAO/RACE/Controller/Component/Controller.mpc b/modules/CIAO/RACE/Controller/Component/Controller.mpc
new file mode 100644
index 00000000000..aa1a77e0495
--- /dev/null
+++ b/modules/CIAO/RACE/Controller/Component/Controller.mpc
@@ -0,0 +1,64 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl Controller"
+
+project(Controller_stub): ciao_deployment_stub {
+
+ after += CIAO_TargetManager_stub
+ sharedname = Controller_stub
+ libs += TargetManager_stub NodeManager_stub
+ idlflags += -Wb,stub_export_macro=CONTROLLER_STUB_Export \
+ -Wb,stub_export_include=Controller_stub_export.h \
+ -Wb,skel_export_macro=CONTROLLER_SVNT_Export \
+ -Wb,skel_export_include=Controller_svnt_export.h
+ dynamicflags = CONTROLLER_STUB_BUILD_DLL
+
+ IDL_Files {
+ Controller.idl
+ }
+
+ Source_Files {
+ ControllerC.cpp
+ }
+}
+
+project(Controller_svnt) : ciao_servant_dnc {
+ after += Controller_stub CIAO_TargetManager_svnt
+ sharedname = Controller_svnt
+ libs += Controller_stub TargetManager_stub TargetManager_svnt NodeManager_stub
+
+ idlflags += -Wb,export_macro=CONTROLLER_SVNT_Export \
+ -Wb,export_include=Controller_svnt_export.h
+ dynamicflags = CONTROLLER_SVNT_BUILD_DLL
+
+ CIDL_Files {
+ Controller.cidl
+ }
+
+ IDL_Files {
+ ControllerE.idl
+ }
+
+ Source_Files {
+ ControllerEC.cpp
+ ControllerS.cpp
+ Controller_svnt.cpp
+ }
+}
+
+
+project(Controller_exec) : ciao_component_dnc {
+ after += Controller_svnt
+ sharedname = Controller_exec
+ libs += Controller_stub Controller_svnt TargetManager_stub TargetManager_svnt NodeManager_stub
+
+ idlflags += -Wb,export_macro=CONTROLLER_EXEC_Export \
+ -Wb,export_include=Controller_exec_export.h
+ dynamicflags = CONTROLLER_EXEC_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ Controller_exec.cpp
+ }
+}
diff --git a/modules/CIAO/RACE/Controller/Component/Controller_exec.cpp b/modules/CIAO/RACE/Controller/Component/Controller_exec.cpp
new file mode 100644
index 00000000000..1606e03a867
--- /dev/null
+++ b/modules/CIAO/RACE/Controller/Component/Controller_exec.cpp
@@ -0,0 +1,160 @@
+// $Id$
+#include "Controller_exec.h"
+#include "ciao/CIAO_common.h"
+
+namespace CIAO
+{
+ namespace RACE
+ {
+ namespace CIDL_Controller_Impl
+ {
+ Controller_exec_i::Controller_exec_i (void)
+ {
+ }
+
+ Controller_exec_i::~Controller_exec_i (void)
+ {
+ }
+
+ // Supported operations.
+ void
+ Controller_exec_i::start ()
+ ACE_THROW_SPEC ((::CORBA::SystemException))
+ {}
+
+ void
+ Controller_exec_i::stop ()
+ ACE_THROW_SPEC ((::CORBA::SystemException))
+ {}
+
+ // Attribute operations.
+
+ ::CORBA::Double
+ Controller_exec_i::sampling_period ()
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ // Your code here.
+ return 0.0;
+ }
+
+ // Port operations.
+
+ // Operations from Components::SessionComponent
+
+ void
+ Controller_exec_i::set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ this->context_ =
+ Controller_Context::_narrow (
+ ctx);
+
+ if (this->context_ == 0)
+ {
+ throw CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ Controller_exec_i::ciao_preactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ Controller_exec_i::ciao_postactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ Controller_exec_i::ccm_activate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ Controller_exec_i::ccm_passivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ Controller_exec_i::ccm_remove ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ //==================================================================
+ // Home Executor Implementation Class: Controller_Home_exec_i
+ //==================================================================
+
+ Controller_Home_exec_i::Controller_Home_exec_i (void)
+ {
+ }
+
+ Controller_Home_exec_i::~Controller_Home_exec_i (void)
+ {
+ }
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ ::Components::EnterpriseComponent_ptr
+ Controller_Home_exec_i::create ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_THROW_EX (
+ retval,
+ Controller_exec_i,
+ CORBA::NO_MEMORY ());
+
+ return retval;
+ }
+
+ extern "C" CONTROLLER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_CIAO_RACE_Controller_Home_Impl (void)
+ {
+ ::Components::HomeExecutorBase_ptr retval =
+ ::Components::HomeExecutorBase::_nil ();
+
+ ACE_NEW_RETURN (
+ retval,
+ Controller_Home_exec_i,
+ ::Components::HomeExecutorBase::_nil ());
+
+ return retval;
+ }
+ }
+ }
+}
diff --git a/modules/CIAO/RACE/Controller/Component/Controller_exec.h b/modules/CIAO/RACE/Controller/Component/Controller_exec.h
new file mode 100644
index 00000000000..def356fef65
--- /dev/null
+++ b/modules/CIAO/RACE/Controller/Component/Controller_exec.h
@@ -0,0 +1,120 @@
+// $Id$
+#ifndef CIAO_CONTROLLER_EXEC_H
+#define CIAO_CONTROLLER_EXEC_H
+
+#include /**/ "ace/pre.h"
+
+#include "Controller_svnt.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "Controller_exec_export.h"
+#include "tao/LocalObject.h"
+
+namespace CIAO
+{
+ namespace RACE
+ {
+ namespace CIDL_Controller_Impl
+ {
+ class CONTROLLER_EXEC_Export Controller_exec_i
+ : public virtual Controller_Exec,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ Controller_exec_i (void);
+ virtual ~Controller_exec_i (void);
+
+ // Supported operations.
+ virtual void start ()
+ ACE_THROW_SPEC ((::CORBA::SystemException));
+
+ virtual void stop ()
+ ACE_THROW_SPEC ((::CORBA::SystemException));
+
+ // Attribute operations.
+ virtual ::CORBA::Double
+ sampling_period ()
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Port operations.
+
+ // Operations from Components::SessionComponent
+
+ virtual void
+ set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ciao_preactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ciao_postactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ccm_activate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ccm_passivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ccm_remove ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ protected:
+ Controller_Context *context_;
+ };
+
+ class CONTROLLER_EXEC_Export Controller_Home_exec_i
+ : public virtual Controller_Home_Exec,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ Controller_Home_exec_i (void);
+ virtual ~Controller_Home_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+ };
+
+ extern "C" CONTROLLER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_CIAO_RACE_Controller_Home_Impl (void);
+ }
+ }
+}
+
+#include /**/ "ace/post.h"
+
+#endif /* CIAO_CONTROLLER_EXEC_H */
diff --git a/modules/CIAO/RACE/Controller/Component/Controller_exec_export.h b/modules/CIAO/RACE/Controller/Component/Controller_exec_export.h
new file mode 100644
index 00000000000..080ecb25a44
--- /dev/null
+++ b/modules/CIAO/RACE/Controller/Component/Controller_exec_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl CONTROLLER_EXEC
+// ------------------------------
+#ifndef CONTROLLER_EXEC_EXPORT_H
+#define CONTROLLER_EXEC_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (CONTROLLER_EXEC_HAS_DLL)
+# define CONTROLLER_EXEC_HAS_DLL 1
+#endif /* ! CONTROLLER_EXEC_HAS_DLL */
+
+#if defined (CONTROLLER_EXEC_HAS_DLL) && (CONTROLLER_EXEC_HAS_DLL == 1)
+# if defined (CONTROLLER_EXEC_BUILD_DLL)
+# define CONTROLLER_EXEC_Export ACE_Proper_Export_Flag
+# define CONTROLLER_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define CONTROLLER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* CONTROLLER_EXEC_BUILD_DLL */
+# define CONTROLLER_EXEC_Export ACE_Proper_Import_Flag
+# define CONTROLLER_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define CONTROLLER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* CONTROLLER_EXEC_BUILD_DLL */
+#else /* CONTROLLER_EXEC_HAS_DLL == 1 */
+# define CONTROLLER_EXEC_Export
+# define CONTROLLER_EXEC_SINGLETON_DECLARATION(T)
+# define CONTROLLER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* CONTROLLER_EXEC_HAS_DLL == 1 */
+
+// Set CONTROLLER_EXEC_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (CONTROLLER_EXEC_NTRACE)
+# if (ACE_NTRACE == 1)
+# define CONTROLLER_EXEC_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define CONTROLLER_EXEC_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !CONTROLLER_EXEC_NTRACE */
+
+#if (CONTROLLER_EXEC_NTRACE == 1)
+# define CONTROLLER_EXEC_TRACE(X)
+#else /* (CONTROLLER_EXEC_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define CONTROLLER_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (CONTROLLER_EXEC_NTRACE == 1) */
+
+#endif /* CONTROLLER_EXEC_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Controller/Component/Controller_stub_export.h b/modules/CIAO/RACE/Controller/Component/Controller_stub_export.h
new file mode 100644
index 00000000000..65a430401a8
--- /dev/null
+++ b/modules/CIAO/RACE/Controller/Component/Controller_stub_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl CONTROLLER_STUB
+// ------------------------------
+#ifndef CONTROLLER_STUB_EXPORT_H
+#define CONTROLLER_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (CONTROLLER_STUB_HAS_DLL)
+# define CONTROLLER_STUB_HAS_DLL 1
+#endif /* ! CONTROLLER_STUB_HAS_DLL */
+
+#if defined (CONTROLLER_STUB_HAS_DLL) && (CONTROLLER_STUB_HAS_DLL == 1)
+# if defined (CONTROLLER_STUB_BUILD_DLL)
+# define CONTROLLER_STUB_Export ACE_Proper_Export_Flag
+# define CONTROLLER_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define CONTROLLER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* CONTROLLER_STUB_BUILD_DLL */
+# define CONTROLLER_STUB_Export ACE_Proper_Import_Flag
+# define CONTROLLER_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define CONTROLLER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* CONTROLLER_STUB_BUILD_DLL */
+#else /* CONTROLLER_STUB_HAS_DLL == 1 */
+# define CONTROLLER_STUB_Export
+# define CONTROLLER_STUB_SINGLETON_DECLARATION(T)
+# define CONTROLLER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* CONTROLLER_STUB_HAS_DLL == 1 */
+
+// Set CONTROLLER_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (CONTROLLER_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define CONTROLLER_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define CONTROLLER_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !CONTROLLER_STUB_NTRACE */
+
+#if (CONTROLLER_STUB_NTRACE == 1)
+# define CONTROLLER_STUB_TRACE(X)
+#else /* (CONTROLLER_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define CONTROLLER_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (CONTROLLER_STUB_NTRACE == 1) */
+
+#endif /* CONTROLLER_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Controller/Component/Controller_svnt_export.h b/modules/CIAO/RACE/Controller/Component/Controller_svnt_export.h
new file mode 100644
index 00000000000..d5e7c6aa42d
--- /dev/null
+++ b/modules/CIAO/RACE/Controller/Component/Controller_svnt_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl CONTROLLER_SVNT
+// ------------------------------
+#ifndef CONTROLLER_SVNT_EXPORT_H
+#define CONTROLLER_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (CONTROLLER_SVNT_HAS_DLL)
+# define CONTROLLER_SVNT_HAS_DLL 1
+#endif /* ! CONTROLLER_SVNT_HAS_DLL */
+
+#if defined (CONTROLLER_SVNT_HAS_DLL) && (CONTROLLER_SVNT_HAS_DLL == 1)
+# if defined (CONTROLLER_SVNT_BUILD_DLL)
+# define CONTROLLER_SVNT_Export ACE_Proper_Export_Flag
+# define CONTROLLER_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define CONTROLLER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* CONTROLLER_SVNT_BUILD_DLL */
+# define CONTROLLER_SVNT_Export ACE_Proper_Import_Flag
+# define CONTROLLER_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define CONTROLLER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* CONTROLLER_SVNT_BUILD_DLL */
+#else /* CONTROLLER_SVNT_HAS_DLL == 1 */
+# define CONTROLLER_SVNT_Export
+# define CONTROLLER_SVNT_SINGLETON_DECLARATION(T)
+# define CONTROLLER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* CONTROLLER_SVNT_HAS_DLL == 1 */
+
+// Set CONTROLLER_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (CONTROLLER_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define CONTROLLER_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define CONTROLLER_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !CONTROLLER_SVNT_NTRACE */
+
+#if (CONTROLLER_SVNT_NTRACE == 1)
+# define CONTROLLER_SVNT_TRACE(X)
+#else /* (CONTROLLER_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define CONTROLLER_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (CONTROLLER_SVNT_NTRACE == 1) */
+
+#endif /* CONTROLLER_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Input_Adapters/Base/Input_Adapter.idl b/modules/CIAO/RACE/Input_Adapters/Base/Input_Adapter.idl
new file mode 100644
index 00000000000..b1c3f7f0ddb
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/Base/Input_Adapter.idl
@@ -0,0 +1,21 @@
+//$Id$
+//Input_Adapter.idl
+
+#ifndef RACE_INPUT_ADAPTER_IDL
+#define RACE_INPUT_ADAPTER_IDL
+
+#include <Components.idl>
+#include "../../Plan_Analyzer/Interface/PlanIngress.idl"
+
+module CIAO
+{
+ module RACE
+ {
+ component Input_Adapter
+ {
+ uses PlanIngress ingress;
+ };
+ };
+};
+
+#endif /* RACE_INPUT_ADAPTER_IDL */
diff --git a/modules/CIAO/RACE/Input_Adapters/Base/Input_Adapter.mpc b/modules/CIAO/RACE/Input_Adapters/Base/Input_Adapter.mpc
new file mode 100644
index 00000000000..8ef8d7bf6d8
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/Base/Input_Adapter.mpc
@@ -0,0 +1,59 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -n Input_Adapter"
+
+project(Input_Adapter_stub): ciao_deployment_stub {
+
+ after += Plan_Analyzer_Interface_stub
+ sharedname = Input_Adapter_stub
+ idlflags += -Wb,stub_export_macro=INPUT_ADAPTER_STUB_Export \
+ -Wb,stub_export_include=Input_Adapter_stub_export.h \
+ -Wb,skel_export_macro=INPUT_ADAPTER_SVNT_Export \
+ -Wb,skel_export_include=Input_Adapter_svnt_export.h
+ dynamicflags = INPUT_ADAPTER_STUB_BUILD_DLL
+ libs += Plan_Analyzer_Interface_stub
+
+ IDL_Files {
+ Input_Adapter.idl
+ }
+
+ Source_Files {
+ Input_AdapterC.cpp
+ }
+
+ Header_Files {
+ Input_AdapterC.h
+ }
+
+ Inline_Files {
+ Input_AdapterC.inl
+ }
+}
+
+project(Input_Adapter_svnt) : ciao_servant_dnc {
+
+ after += Input_Adapter_stub
+ sharedname = Input_Adapter_svnt
+ libs += Input_Adapter_stub Plan_Analyzer_Interface_stub
+
+ idlflags += -Wb,stub_export_macro=INPUT_ADAPTER_STUB_Export \
+ -Wb,stub_export_include=Input_Adapter_stub_export.h \
+ -Wb,skel_export_macro=INPUT_ADAPTER_SVNT_Export \
+ -Wb,skel_export_include=Input_Adapter_svnt_export.h
+ dynamicflags = INPUT_ADAPTER_SVNT_BUILD_DLL
+
+ IDL_Files {
+ Input_Adapter.idl
+ }
+
+ Source_Files {
+ Input_AdapterS.cpp
+ }
+
+ Header_Files {
+ Input_AdapterS.h
+ }
+
+ Inline_Files {
+ Input_AdapterS.inl
+ }
+}
diff --git a/modules/CIAO/RACE/Input_Adapters/Base/Input_Adapter_stub_export.h b/modules/CIAO/RACE/Input_Adapters/Base/Input_Adapter_stub_export.h
new file mode 100644
index 00000000000..546b8e64659
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/Base/Input_Adapter_stub_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl INPUT_ADAPTER_STUB
+// ------------------------------
+#ifndef INPUT_ADAPTER_STUB_EXPORT_H
+#define INPUT_ADAPTER_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (INPUT_ADAPTER_STUB_HAS_DLL)
+# define INPUT_ADAPTER_STUB_HAS_DLL 1
+#endif /* ! INPUT_ADAPTER_STUB_HAS_DLL */
+
+#if defined (INPUT_ADAPTER_STUB_HAS_DLL) && (INPUT_ADAPTER_STUB_HAS_DLL == 1)
+# if defined (INPUT_ADAPTER_STUB_BUILD_DLL)
+# define INPUT_ADAPTER_STUB_Export ACE_Proper_Export_Flag
+# define INPUT_ADAPTER_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define INPUT_ADAPTER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* INPUT_ADAPTER_STUB_BUILD_DLL */
+# define INPUT_ADAPTER_STUB_Export ACE_Proper_Import_Flag
+# define INPUT_ADAPTER_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define INPUT_ADAPTER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* INPUT_ADAPTER_STUB_BUILD_DLL */
+#else /* INPUT_ADAPTER_STUB_HAS_DLL == 1 */
+# define INPUT_ADAPTER_STUB_Export
+# define INPUT_ADAPTER_STUB_SINGLETON_DECLARATION(T)
+# define INPUT_ADAPTER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* INPUT_ADAPTER_STUB_HAS_DLL == 1 */
+
+// Set INPUT_ADAPTER_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (INPUT_ADAPTER_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define INPUT_ADAPTER_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define INPUT_ADAPTER_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !INPUT_ADAPTER_STUB_NTRACE */
+
+#if (INPUT_ADAPTER_STUB_NTRACE == 1)
+# define INPUT_ADAPTER_STUB_TRACE(X)
+#else /* (INPUT_ADAPTER_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define INPUT_ADAPTER_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (INPUT_ADAPTER_STUB_NTRACE == 1) */
+
+#endif /* INPUT_ADAPTER_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Input_Adapters/Base/Input_Adapter_svnt_export.h b/modules/CIAO/RACE/Input_Adapters/Base/Input_Adapter_svnt_export.h
new file mode 100644
index 00000000000..0d7bf2fc787
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/Base/Input_Adapter_svnt_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl INPUT_ADAPTER_SVNT
+// ------------------------------
+#ifndef INPUT_ADAPTER_SVNT_EXPORT_H
+#define INPUT_ADAPTER_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (INPUT_ADAPTER_SVNT_HAS_DLL)
+# define INPUT_ADAPTER_SVNT_HAS_DLL 1
+#endif /* ! INPUT_ADAPTER_SVNT_HAS_DLL */
+
+#if defined (INPUT_ADAPTER_SVNT_HAS_DLL) && (INPUT_ADAPTER_SVNT_HAS_DLL == 1)
+# if defined (INPUT_ADAPTER_SVNT_BUILD_DLL)
+# define INPUT_ADAPTER_SVNT_Export ACE_Proper_Export_Flag
+# define INPUT_ADAPTER_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define INPUT_ADAPTER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* INPUT_ADAPTER_SVNT_BUILD_DLL */
+# define INPUT_ADAPTER_SVNT_Export ACE_Proper_Import_Flag
+# define INPUT_ADAPTER_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define INPUT_ADAPTER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* INPUT_ADAPTER_SVNT_BUILD_DLL */
+#else /* INPUT_ADAPTER_SVNT_HAS_DLL == 1 */
+# define INPUT_ADAPTER_SVNT_Export
+# define INPUT_ADAPTER_SVNT_SINGLETON_DECLARATION(T)
+# define INPUT_ADAPTER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* INPUT_ADAPTER_SVNT_HAS_DLL == 1 */
+
+// Set INPUT_ADAPTER_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (INPUT_ADAPTER_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define INPUT_ADAPTER_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define INPUT_ADAPTER_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !INPUT_ADAPTER_SVNT_NTRACE */
+
+#if (INPUT_ADAPTER_SVNT_NTRACE == 1)
+# define INPUT_ADAPTER_SVNT_TRACE(X)
+#else /* (INPUT_ADAPTER_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define INPUT_ADAPTER_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (INPUT_ADAPTER_SVNT_NTRACE == 1) */
+
+#endif /* INPUT_ADAPTER_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter.cidl b/modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter.cidl
new file mode 100644
index 00000000000..2bbbe6037c6
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter.cidl
@@ -0,0 +1,25 @@
+//$Id$
+//Interactive_Input_Adapter.cidl
+
+#ifndef RACE_INTERACTIVE_INPUT_ADAPTER_CIDL
+#define RACE_INTERACTIVE_INPUT_ADAPTER_CIDL
+
+#include "Interactive_Input_Adapter.idl"
+
+module CIAO
+{
+ module RACE
+ {
+ composition session Interactive_Input_Adapter_Impl
+ {
+ home executor Interactive_Input_Adapter_Home_Exec
+ {
+ implements RACE::Interactive_Input_Adapter_Home;
+ manages Interactive_Input_Adapter_Exec;
+ };
+ };
+ };
+};
+
+
+#endif /* RACE_INTERACTIVE_INPUT_ADAPTER_CIDL */
diff --git a/modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter.idl b/modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter.idl
new file mode 100644
index 00000000000..d027b608c8b
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter.idl
@@ -0,0 +1,22 @@
+//$Id$
+#ifndef RACE_INTERACTIVE_INPUT_ADAPTER_IDL
+#define RACE_INTERACTIVE_INPUT_ADAPTER_IDL
+
+#include <Components.idl>
+#include "../Base/Input_Adapter.idl"
+
+module CIAO
+{
+ module RACE
+ {
+ component Interactive_Input_Adapter : Input_Adapter
+ {
+ };
+
+ home Interactive_Input_Adapter_Home manages Interactive_Input_Adapter
+ {
+ };
+ };
+};
+
+#endif /* RACE_INTERACTIVE_INPUT_ADAPTER_IDL */
diff --git a/modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter.mpc b/modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter.mpc
new file mode 100644
index 00000000000..2df82ac4a2f
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter.mpc
@@ -0,0 +1,95 @@
+// generate_component_mpc.pl,v 1.9 2003/12/22 21:56:27 boris Exp
+//$Id$
+
+project(Interactive_Input_Adapter_stub): ciao_deployment_stub {
+ after += Input_Adapter_stub
+ sharedname = Interactive_Input_Adapter_stub
+ idlflags += -Wb,stub_export_macro=INTERACTIVE_INPUT_ADAPTER_STUB_Export \
+ -Wb,stub_export_include=Interactive_Input_Adapter_stub_export.h \
+ -Wb,skel_export_macro=INTERACTIVE_INPUT_ADAPTER_SVNT_Export \
+ -Wb,skel_export_include=Interactive_Input_Adapter_svnt_export.h
+ dynamicflags = INTERACTIVE_INPUT_ADAPTER_STUB_BUILD_DLL
+ libs += Input_Adapter_stub \
+ Plan_Analyzer_Interface_stub
+
+ IDL_Files {
+ Interactive_Input_Adapter.idl
+ }
+
+ Source_Files {
+ Interactive_Input_AdapterC.cpp
+ }
+
+ Header_Files {
+ Interactive_Input_AdapterC.h
+ }
+
+ Inline_Files {
+ Interactive_Input_AdapterC.inl
+ }
+}
+
+project(Interactive_Input_Adapter_svnt) : ciao_servant_dnc {
+ after += Interactive_Input_Adapter_stub \
+ Input_Adapter_svnt
+ sharedname = Interactive_Input_Adapter_svnt
+ libs += Interactive_Input_Adapter_stub \
+ Input_Adapter_stub \
+ Input_Adapter_svnt \
+ Plan_Analyzer_Interface_stub
+
+ idlflags += -Wb,export_macro=INTERACTIVE_INPUT_ADAPTER_SVNT_Export \
+ -Wb,export_include=Interactive_Input_Adapter_svnt_export.h
+
+ dynamicflags = INTERACTIVE_INPUT_ADAPTER_SVNT_BUILD_DLL
+
+ CIDL_Files {
+ Interactive_Input_Adapter.cidl
+ }
+
+ IDL_Files {
+ Interactive_Input_AdapterE.idl
+ }
+
+ Source_Files {
+ Interactive_Input_AdapterEC.cpp
+ Interactive_Input_AdapterS.cpp
+ Interactive_Input_Adapter_svnt.cpp
+ }
+
+ Header_Files {
+ Interactive_Input_AdapterEC.h
+ Interactive_Input_AdapterS.h
+ Interactive_Input_Adapter_svnt.h
+ }
+
+ Inline_Files {
+ Interactive_Input_AdapterEC.inl
+ Interactive_Input_AdapterS.inl
+ Interactive_Input_Adapter_svnt.inl
+ }
+}
+
+
+project(Interactive_Input_Adapter_exec) : ciao_component_dnc, ciao_config_handlers {
+ after += Interactive_Input_Adapter_svnt XSC_Config_Handlers
+ sharedname = Interactive_Input_Adapter_exec
+ libs += Interactive_Input_Adapter_stub \
+ Interactive_Input_Adapter_svnt \
+ Input_Adapter_stub \
+ Input_Adapter_svnt \
+ Plan_Analyzer_Interface_stub \
+ XSC_Config_Handlers
+
+ idlflags += -Wb,export_macro=INTERACTIVE_INPUT_ADAPTER_EXEC_Export \
+ -Wb,export_include=Interactive_Input_Adapter_exec_export.h
+ dynamicflags = INTERACTIVE_INPUT_ADAPTER_EXEC_BUILD_DLL
+
+ IDL_Files {
+
+ }
+
+ Source_Files {
+ Interactive_Input_Adapter_exec.cpp
+ }
+}
diff --git a/modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter_exec.cpp b/modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter_exec.cpp
new file mode 100644
index 00000000000..9d1603361ab
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter_exec.cpp
@@ -0,0 +1,167 @@
+// $Id$
+//
+// **** Code generated by the ****
+// **** Component Integrated ACE ORB (CIAO) CIDL Compiler ****
+// CIAO has been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// CIDL Compiler has been developed by:
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about CIAO is available at:
+// http://www.dre.vanderbilt.edu/CIAO
+
+#include "Interactive_Input_Adapter_exec.h"
+#include "ciao/CIAO_common.h"
+
+namespace CIAO
+{
+ namespace RACE
+ {
+ namespace CIDL_Interactive_Input_Adapter_Impl
+ {
+ //==================================================================
+ // Component Executor Implementation Class: Interactive_Input_Adapter_exec_i
+ //==================================================================
+
+ Interactive_Input_Adapter_exec_i::Interactive_Input_Adapter_exec_i (void)
+ {
+ }
+
+ Interactive_Input_Adapter_exec_i::~Interactive_Input_Adapter_exec_i (void)
+ {
+ }
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ // Operations from Components::SessionComponent
+
+ void
+ Interactive_Input_Adapter_exec_i::set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ this->context_ =
+ Interactive_Input_Adapter_Context::_narrow (
+ ctx);
+
+ if (this->context_ == 0)
+ {
+ throw CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ Interactive_Input_Adapter_exec_i::ciao_preactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ Interactive_Input_Adapter_exec_i::ciao_postactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ Interactive_Input_Adapter_exec_i::ccm_activate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ Interactive_Input_Adapter_exec_i::ccm_passivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ Interactive_Input_Adapter_exec_i::ccm_remove ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ //==================================================================
+ // Home Executor Implementation Class: Interactive_Input_Adapter_Home_exec_i
+ //==================================================================
+
+ Interactive_Input_Adapter_Home_exec_i::Interactive_Input_Adapter_Home_exec_i (void)
+ {
+ }
+
+ Interactive_Input_Adapter_Home_exec_i::~Interactive_Input_Adapter_Home_exec_i (void)
+ {
+ }
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ ::Components::EnterpriseComponent_ptr
+ Interactive_Input_Adapter_Home_exec_i::create ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_THROW_EX (
+ retval,
+ Interactive_Input_Adapter_exec_i,
+ CORBA::NO_MEMORY ());
+
+ return retval;
+ }
+
+ extern "C" INTERACTIVE_INPUT_ADAPTER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ createInteractive_Input_Adapter_Home_Impl (void)
+ {
+ ::Components::HomeExecutorBase_ptr retval =
+ ::Components::HomeExecutorBase::_nil ();
+
+ ACE_NEW_RETURN (
+ retval,
+ Interactive_Input_Adapter_Home_exec_i,
+ ::Components::HomeExecutorBase::_nil ());
+
+ return retval;
+ }
+ }
+ }
+}
+
diff --git a/modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter_exec.h b/modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter_exec.h
new file mode 100644
index 00000000000..d16fbb76110
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter_exec.h
@@ -0,0 +1,132 @@
+// $Id$
+//
+// **** Code generated by the ****
+// **** Component Integrated ACE ORB (CIAO) CIDL Compiler ****
+// CIAO has been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// CIDL Compiler has been developed by:
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about CIAO is available at:
+// http://www.dre.vanderbilt.edu/CIAO
+
+#ifndef CIAO_INTERACTIVE_INPUT_ADAPTER_EXEC_H
+#define CIAO_INTERACTIVE_INPUT_ADAPTER_EXEC_H
+
+#include /**/ "ace/pre.h"
+
+#include "Interactive_Input_Adapter_svnt.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "Interactive_Input_Adapter_exec_export.h"
+#include "tao/LocalObject.h"
+
+namespace CIAO
+{
+ namespace RACE
+ {
+ namespace CIDL_Interactive_Input_Adapter_Impl
+ {
+ class INTERACTIVE_INPUT_ADAPTER_EXEC_Export Interactive_Input_Adapter_exec_i
+ : public virtual Interactive_Input_Adapter_Exec,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ Interactive_Input_Adapter_exec_i (void);
+ virtual ~Interactive_Input_Adapter_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ // Operations from Components::SessionComponent
+
+ virtual void
+ set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ciao_preactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ciao_postactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ccm_activate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ccm_passivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ccm_remove ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ protected:
+ Interactive_Input_Adapter_Context *context_;
+ };
+
+ class INTERACTIVE_INPUT_ADAPTER_EXEC_Export Interactive_Input_Adapter_Home_exec_i
+ : public virtual Interactive_Input_Adapter_Home_Exec,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ Interactive_Input_Adapter_Home_exec_i (void);
+ virtual ~Interactive_Input_Adapter_Home_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+ };
+
+ extern "C" INTERACTIVE_INPUT_ADAPTER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ createInteractive_Input_Adapter_Home_Impl (void);
+ }
+ }
+}
+
+#include /**/ "ace/post.h"
+
+#endif /* CIAO_INTERACTIVE_INPUT_ADAPTER_EXEC_H */
+
diff --git a/modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter_exec_export.h b/modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter_exec_export.h
new file mode 100644
index 00000000000..147e914cb7c
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter_exec_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl INTERACTIVE_INPUT_ADAPTER_EXEC
+// ------------------------------
+#ifndef INTERACTIVE_INPUT_ADAPTER_EXEC_EXPORT_H
+#define INTERACTIVE_INPUT_ADAPTER_EXEC_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (INTERACTIVE_INPUT_ADAPTER_EXEC_HAS_DLL)
+# define INTERACTIVE_INPUT_ADAPTER_EXEC_HAS_DLL 1
+#endif /* ! INTERACTIVE_INPUT_ADAPTER_EXEC_HAS_DLL */
+
+#if defined (INTERACTIVE_INPUT_ADAPTER_EXEC_HAS_DLL) && (INTERACTIVE_INPUT_ADAPTER_EXEC_HAS_DLL == 1)
+# if defined (INTERACTIVE_INPUT_ADAPTER_EXEC_BUILD_DLL)
+# define INTERACTIVE_INPUT_ADAPTER_EXEC_Export ACE_Proper_Export_Flag
+# define INTERACTIVE_INPUT_ADAPTER_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define INTERACTIVE_INPUT_ADAPTER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* INTERACTIVE_INPUT_ADAPTER_EXEC_BUILD_DLL */
+# define INTERACTIVE_INPUT_ADAPTER_EXEC_Export ACE_Proper_Import_Flag
+# define INTERACTIVE_INPUT_ADAPTER_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define INTERACTIVE_INPUT_ADAPTER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* INTERACTIVE_INPUT_ADAPTER_EXEC_BUILD_DLL */
+#else /* INTERACTIVE_INPUT_ADAPTER_EXEC_HAS_DLL == 1 */
+# define INTERACTIVE_INPUT_ADAPTER_EXEC_Export
+# define INTERACTIVE_INPUT_ADAPTER_EXEC_SINGLETON_DECLARATION(T)
+# define INTERACTIVE_INPUT_ADAPTER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* INTERACTIVE_INPUT_ADAPTER_EXEC_HAS_DLL == 1 */
+
+// Set INTERACTIVE_INPUT_ADAPTER_EXEC_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (INTERACTIVE_INPUT_ADAPTER_EXEC_NTRACE)
+# if (ACE_NTRACE == 1)
+# define INTERACTIVE_INPUT_ADAPTER_EXEC_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define INTERACTIVE_INPUT_ADAPTER_EXEC_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !INTERACTIVE_INPUT_ADAPTER_EXEC_NTRACE */
+
+#if (INTERACTIVE_INPUT_ADAPTER_EXEC_NTRACE == 1)
+# define INTERACTIVE_INPUT_ADAPTER_EXEC_TRACE(X)
+#else /* (INTERACTIVE_INPUT_ADAPTER_EXEC_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define INTERACTIVE_INPUT_ADAPTER_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (INTERACTIVE_INPUT_ADAPTER_EXEC_NTRACE == 1) */
+
+#endif /* INTERACTIVE_INPUT_ADAPTER_EXEC_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter_stub_export.h b/modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter_stub_export.h
new file mode 100644
index 00000000000..381f5d69197
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter_stub_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl INTERACTIVE_INPUT_ADAPTER_STUB
+// ------------------------------
+#ifndef INTERACTIVE_INPUT_ADAPTER_STUB_EXPORT_H
+#define INTERACTIVE_INPUT_ADAPTER_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (INTERACTIVE_INPUT_ADAPTER_STUB_HAS_DLL)
+# define INTERACTIVE_INPUT_ADAPTER_STUB_HAS_DLL 1
+#endif /* ! INTERACTIVE_INPUT_ADAPTER_STUB_HAS_DLL */
+
+#if defined (INTERACTIVE_INPUT_ADAPTER_STUB_HAS_DLL) && (INTERACTIVE_INPUT_ADAPTER_STUB_HAS_DLL == 1)
+# if defined (INTERACTIVE_INPUT_ADAPTER_STUB_BUILD_DLL)
+# define INTERACTIVE_INPUT_ADAPTER_STUB_Export ACE_Proper_Export_Flag
+# define INTERACTIVE_INPUT_ADAPTER_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define INTERACTIVE_INPUT_ADAPTER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* INTERACTIVE_INPUT_ADAPTER_STUB_BUILD_DLL */
+# define INTERACTIVE_INPUT_ADAPTER_STUB_Export ACE_Proper_Import_Flag
+# define INTERACTIVE_INPUT_ADAPTER_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define INTERACTIVE_INPUT_ADAPTER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* INTERACTIVE_INPUT_ADAPTER_STUB_BUILD_DLL */
+#else /* INTERACTIVE_INPUT_ADAPTER_STUB_HAS_DLL == 1 */
+# define INTERACTIVE_INPUT_ADAPTER_STUB_Export
+# define INTERACTIVE_INPUT_ADAPTER_STUB_SINGLETON_DECLARATION(T)
+# define INTERACTIVE_INPUT_ADAPTER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* INTERACTIVE_INPUT_ADAPTER_STUB_HAS_DLL == 1 */
+
+// Set INTERACTIVE_INPUT_ADAPTER_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (INTERACTIVE_INPUT_ADAPTER_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define INTERACTIVE_INPUT_ADAPTER_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define INTERACTIVE_INPUT_ADAPTER_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !INTERACTIVE_INPUT_ADAPTER_STUB_NTRACE */
+
+#if (INTERACTIVE_INPUT_ADAPTER_STUB_NTRACE == 1)
+# define INTERACTIVE_INPUT_ADAPTER_STUB_TRACE(X)
+#else /* (INTERACTIVE_INPUT_ADAPTER_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define INTERACTIVE_INPUT_ADAPTER_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (INTERACTIVE_INPUT_ADAPTER_STUB_NTRACE == 1) */
+
+#endif /* INTERACTIVE_INPUT_ADAPTER_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter_svnt_export.h b/modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter_svnt_export.h
new file mode 100644
index 00000000000..e50838b8e2f
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter_svnt_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl INTERACTIVE_INPUT_ADAPTER_SVNT
+// ------------------------------
+#ifndef INTERACTIVE_INPUT_ADAPTER_SVNT_EXPORT_H
+#define INTERACTIVE_INPUT_ADAPTER_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (INTERACTIVE_INPUT_ADAPTER_SVNT_HAS_DLL)
+# define INTERACTIVE_INPUT_ADAPTER_SVNT_HAS_DLL 1
+#endif /* ! INTERACTIVE_INPUT_ADAPTER_SVNT_HAS_DLL */
+
+#if defined (INTERACTIVE_INPUT_ADAPTER_SVNT_HAS_DLL) && (INTERACTIVE_INPUT_ADAPTER_SVNT_HAS_DLL == 1)
+# if defined (INTERACTIVE_INPUT_ADAPTER_SVNT_BUILD_DLL)
+# define INTERACTIVE_INPUT_ADAPTER_SVNT_Export ACE_Proper_Export_Flag
+# define INTERACTIVE_INPUT_ADAPTER_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define INTERACTIVE_INPUT_ADAPTER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* INTERACTIVE_INPUT_ADAPTER_SVNT_BUILD_DLL */
+# define INTERACTIVE_INPUT_ADAPTER_SVNT_Export ACE_Proper_Import_Flag
+# define INTERACTIVE_INPUT_ADAPTER_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define INTERACTIVE_INPUT_ADAPTER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* INTERACTIVE_INPUT_ADAPTER_SVNT_BUILD_DLL */
+#else /* INTERACTIVE_INPUT_ADAPTER_SVNT_HAS_DLL == 1 */
+# define INTERACTIVE_INPUT_ADAPTER_SVNT_Export
+# define INTERACTIVE_INPUT_ADAPTER_SVNT_SINGLETON_DECLARATION(T)
+# define INTERACTIVE_INPUT_ADAPTER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* INTERACTIVE_INPUT_ADAPTER_SVNT_HAS_DLL == 1 */
+
+// Set INTERACTIVE_INPUT_ADAPTER_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (INTERACTIVE_INPUT_ADAPTER_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define INTERACTIVE_INPUT_ADAPTER_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define INTERACTIVE_INPUT_ADAPTER_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !INTERACTIVE_INPUT_ADAPTER_SVNT_NTRACE */
+
+#if (INTERACTIVE_INPUT_ADAPTER_SVNT_NTRACE == 1)
+# define INTERACTIVE_INPUT_ADAPTER_SVNT_TRACE(X)
+#else /* (INTERACTIVE_INPUT_ADAPTER_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define INTERACTIVE_INPUT_ADAPTER_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (INTERACTIVE_INPUT_ADAPTER_SVNT_NTRACE == 1) */
+
+#endif /* INTERACTIVE_INPUT_ADAPTER_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Input_Adapters/LocationUpdater/Injector.cpp b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/Injector.cpp
new file mode 100644
index 00000000000..7b22e519922
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/Injector.cpp
@@ -0,0 +1,185 @@
+/**
+ * @file Injector.cpp
+ * @author Will Otte <wotte@dre.vanderbilt.edu>
+ *
+ * $Id$
+ */
+
+#include "Input_Adapters/LocationUpdater/LocationUpdaterC.h"
+#include "ace/OS.h"
+#include "ace/Get_Opt.h"
+#include "ace/SString.h"
+#include "orbsvcs/CosNamingC.h"
+#include "ace/Auto_Ptr.h"
+
+#include <iostream>
+using namespace std;
+
+namespace CIAO
+{
+ namespace RACE
+ {
+ namespace Injector
+ {
+ const char *package_uri = 0;
+ const char *plan_uri = 0;
+ const char *iia_ior_file = 0;
+ const char *iia_name = "RACE::InteractiveInput";
+
+ bool teardown = false;
+
+ static void
+ usage (const ACE_TCHAR* program)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Usage %s\n")
+ ACE_TEXT ("-d <Flatten deployment plan URI>\n")
+ ACE_TEXT ("-p <Toplevel Package URI>\n")
+ ACE_TEXT ("-t <Teardown plan>\n")
+ ACE_TEXT ("-k <Interactive_Input_Adaptor IOR, "
+ "use naming service if not present\n"),
+ program));
+ }
+
+ static bool
+ parse_args (int argc,
+ ACE_TCHAR *argv[])
+ {
+ ACE_Get_Opt get_opt (argc,
+ argv,
+ ACE_TEXT ("d:p:k:thn:"));
+ int c;
+
+ while ((c = get_opt ()) != EOF)
+ {
+ switch (c)
+ {
+ case 'd':
+ plan_uri = get_opt.opt_arg ();
+ break;
+
+ case 'p':
+ package_uri = get_opt.opt_arg ();
+ break;
+
+ case 'k':
+ iia_ior_file = get_opt.opt_arg ();
+ break;
+
+ case 't':
+ teardown = true;
+ break;
+
+ case 'n':
+ iia_name = get_opt.opt_arg ();
+
+ case 'h':
+ default:
+ usage (argv[0]);
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ CORBA::Object_ptr
+ fetch_reference_naming (CORBA::ORB_ptr orb,
+ const ACE_CString &name)
+ {
+ ACE_ERROR ((LM_ERROR, "Resolving via nameservice...\n"));
+ using namespace CosNaming;
+ // Resolve naming service
+ CORBA::Object_var tmp =
+ orb->resolve_initial_references ("NameService");
+
+ NamingContext_var pns =
+ NamingContext::_narrow (tmp.in ());
+
+ Name ns_name;
+ CORBA::ULong i = 0;
+
+ ACE_Tokenizer tok ( name.rep ());
+ tok.delimiter_replace (':', 0);
+ tok.delimiter_replace ('/', 0);
+
+ char *name_element = 0;
+ while ((name_element = tok.next ()) != 0)
+ {
+ ns_name.length (ns_name.length () + 1);
+ ns_name[i].id = CORBA::string_dup (name_element);
+ ++i;
+ }
+
+
+ return pns->resolve (ns_name);
+ }
+
+ static int
+ run_main_implementation (int argc, ACE_TCHAR *argv[])
+ {
+ try
+ {
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "");
+
+ if (!parse_args (argc, argv))
+ return -1;
+
+
+ // Resolve our input adapter...
+ CORBA::Object_var tmp;
+
+ cout << "resolving: " << iia_ior_file << endl;
+
+ if (iia_ior_file != 0)
+ tmp = orb->string_to_object (iia_ior_file);
+ else // must be a name....
+ tmp = fetch_reference_naming (orb.in (), iia_name);
+
+ CIAO::RACE::LocationUpdater_var iia
+ = CIAO::RACE::LocationUpdater::_narrow (tmp.in ());
+
+ // Create deploy input event.
+ CIAO::RACE::Deploy_Input_var input =
+ new OBV_CIAO::RACE::Deploy_Input;
+
+ input->plan_uri (plan_uri);
+ input->package_uri (package_uri);
+
+ if (teardown)
+ {
+ input->command (::CIAO::RACE::TEARDOWN);
+ }
+ else
+ {
+ input->command (::CIAO::RACE::DEPLOY);
+ }
+
+
+
+ // Get the consumer for the IIA
+ ::CIAO::RACE::Deploy_InputConsumer_var consumer =
+ iia->get_consumer_deployment ();
+
+ // push the event
+ consumer->push_Deploy_Input (input.in ());
+
+ }
+ catch (...)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "(%P|%t) Injector: Unknown exception\n"));
+ return -1;
+ }
+
+ return 0;
+ }
+ }
+ }
+}
+
+int main (int argc, ACE_TCHAR **argv)
+{
+ return CIAO::RACE::Injector::run_main_implementation (argc, argv);
+}
diff --git a/modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater.cdp b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater.cdp
new file mode 100644
index 00000000000..4e72dd5a6c9
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater.cdp
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<Deployment:deploymentPlan xmlns:Deployment="http://www.omg.org/Deployment" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd">
+
+ <UUID>1D2C2C63-CE33-4088-9443-781D080D8857</UUID>
+
+ <implementation id="_73898E70-9FB1-4881-9313-A2DE181EE48E">
+ <name>RT1H_Combined.RA_ComponentImplementations.LocationUpdaterImplementation.LocationUpdaterMonolithicImpl</name>
+ <source/>
+ <artifact>__AD4B52E0-103C-49E2-BE47-29CAE978676F</artifact>
+ <artifact>__E4AF24BF-5A39-46B1-8217-6343D7D53298</artifact>
+ <artifact>__76A0CEFE-E2F7-4BF7-BB91-F309FB5AD33C</artifact>
+ </implementation>
+
+ <instance id="_2BD4D476-2F5B-41CA-A8CF-311084273028">
+ <name>RT1H_Combined.ComponentImplementations.RACE.RACE.LocationUpdater</name>
+ <node>blade36</node>
+ <source/>
+ <implementation>_73898E70-9FB1-4881-9313-A2DE181EE48E</implementation>
+ <configProperty>
+ <name>ComponentIOR</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>LocationUpdater.ior</string>
+ </value>
+ </value>
+ </configProperty>
+ <configProperty>
+ <name>ComponentIOR</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>InteractiveAdapter.ior</string>
+ </value>
+ </value>
+ </configProperty>
+ <configProperty>
+ <name>RegisterNaming</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>RACE::InteractiveInput</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <artifact id="__AD4B52E0-103C-49E2-BE47-29CAE978676F">
+ <name>RT1H_Combined.RA_ImplementationArtifacts.LocationUpdaterArtifacts.LocationUpdater_stub</name>
+ <source/>
+ <node/>
+ <location>LocationUpdater_stub</location>
+ </artifact>
+
+ <artifact id="__E4AF24BF-5A39-46B1-8217-6343D7D53298">
+ <name>RT1H_Combined.RA_ImplementationArtifacts.LocationUpdaterArtifacts.LocationUpdater_svnt</name>
+ <source/>
+ <node/>
+ <location>LocationUpdater_svnt</location>
+ <execParameter>
+ <name>entryPoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CIAO_RACE_LocationUpdater_Home_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+
+ <artifact id="__76A0CEFE-E2F7-4BF7-BB91-F309FB5AD33C">
+ <name>RT1H_Combined.RA_ImplementationArtifacts.LocationUpdaterArtifacts.LocationUpdater_exec</name>
+ <source/>
+ <node/>
+ <location>LocationUpdater_exec</location>
+ <execParameter>
+ <name>entryPoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CIAO_RACE_LocationUpdater_Home_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+
+</Deployment:deploymentPlan>
diff --git a/modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater.cidl b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater.cidl
new file mode 100644
index 00000000000..fce16e1ac29
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater.cidl
@@ -0,0 +1,27 @@
+//LOCATION_UPDATING_INPUT_ADAPTER.cidl,v 1.1 spaunov Exp
+//LocationUpdater.cidl
+//Author: Stoyan Paunov
+//$Id$
+
+#ifndef RACE_LOCATION_UPDATING_INPUT_ADAPTER_CIDL
+#define RACE_LOCATION_UPDATING_INPUT_ADAPTER_CIDL
+
+#include "LocationUpdater.idl"
+
+module CIAO
+{
+ module RACE
+ {
+ composition session LocationUpdater_Impl
+ {
+ home executor LocationUpdater_Home_Exec
+ {
+ implements RACE::LocationUpdater_Home;
+ manages LocationUpdater_Exec;
+ };
+ };
+ };
+};
+
+
+#endif /* RACE_LOCATION_UPDATING_INPUT_ADAPTER_CIDL */
diff --git a/modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater.idl b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater.idl
new file mode 100644
index 00000000000..3cc0f26d215
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater.idl
@@ -0,0 +1,34 @@
+//LocationUpdater.idl,v 1.1 spaunov Exp
+//Author: Stoyan Paunov
+//$Id$
+
+#ifndef RACE_LOCATION_UPDATING_INPUT_ADAPTER_IDL
+#define RACE_LOCATION_UPDATING_INPUT_ADAPTER_IDL
+
+#include <Components.idl>
+#include "Input_Adapters/Base/Input_Adapter.idl"
+#include "common/RACE_common.idl"
+
+module CIAO
+{
+ module RACE
+ {
+ eventtype Deploy_Input
+ {
+ public string plan_uri;
+ public string package_uri;
+ public Action command;
+ };
+
+ component LocationUpdater : Input_Adapter
+ {
+ consumes Deploy_Input deployment;
+ };
+
+ home LocationUpdater_Home manages LocationUpdater
+ {
+ };
+ };
+};
+
+#endif /* RACE_LOCATION_UPDATING_INPUT_ADAPTER_IDL */
diff --git a/modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater_deployment.dat b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater_deployment.dat
new file mode 100644
index 00000000000..a5a465169b8
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater_deployment.dat
@@ -0,0 +1 @@
+LocationUpdater corbaloc:iiop:localhost:50000/NodeManager
diff --git a/modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater_exec.cpp b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater_exec.cpp
new file mode 100644
index 00000000000..4318902bc32
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater_exec.cpp
@@ -0,0 +1,312 @@
+// $Id$
+//Author: Stoyan Paunov
+
+
+#include "LocationUpdater_exec.h"
+#include "ciao/CIAO_common.h"
+#include "Config_Handlers/XML_File_Intf.h"
+#include "Config_Handlers/Package_Handlers/PCD_Handler.h"
+#include "Config_Handlers/Common.h"
+
+#include "DAnCE/RepositoryManager/RepositoryManagerDaemonC.h"
+#include "PlanUpdater.h"
+
+#include <iostream>
+using namespace std;
+
+
+namespace CIAO
+{
+ namespace RACE
+ {
+ namespace CIDL_LocationUpdater_Impl
+ {
+ //==================================================================
+ // Component Executor Implementation Class:
+ // LocationUpdater_exec_i
+ //==================================================================
+
+ LocationUpdater_exec_i::LocationUpdater_exec_i (void)
+ {
+ }
+
+ LocationUpdater_exec_i::~LocationUpdater_exec_i (void)
+ {
+ }
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ void
+ LocationUpdater_exec_i::push_deployment (
+ ::CIAO::RACE::Deploy_Input * ev)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ bool plan_exists = false;
+
+ try
+ {
+ ACE_Auto_Ptr < ::Deployment::DeploymentPlan > dp;
+ ACE_Auto_Ptr < ::Deployment::PackageConfiguration > pcd;
+
+ if (ev->plan_uri () != 0)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Opening the plan\n"));
+
+ Config_Handlers::XML_File_Intf xfi (ev->plan_uri ());
+
+ dp.reset ( xfi.get_plan ());
+
+ plan_exists = true;
+ }
+ else
+ {
+ dp.reset ( new ::Deployment::DeploymentPlan );
+ }
+
+
+ pcd.reset (new ::Deployment::PackageConfiguration);
+
+ if ((ACE_OS::strcmp (ev->package_uri (), "") != 0))
+ {
+ ACE_DEBUG ((LM_DEBUG, "Opening the package descriptor: :%s:\n",
+ ev->package_uri ()));
+
+ Config_Handlers::Packaging::PCD_Handler::package_config
+ (ev->package_uri (), *pcd);
+ }
+
+ //Get the IOR of the RepoMan from the naming service
+
+ //Obtain a ref to the orb
+ CORBA::ORB_ptr orb = this->context_->_ciao_the_Container ()->the_ORB ();
+
+ //form the path to the RepoMan IOR file
+ ACE_CString RepoMan_ior = ("file://");
+ RepoMan_ior += ACE_OS::getenv ("CIAO_ROOT");
+ RepoMan_ior += "/DAnCE/RepositoryManager/RepositoryManagerDeamon.ior";
+
+ cout << "RepoMan ior file: " << RepoMan_ior.c_str () << endl;
+
+ CORBA::Object_var obj =
+ orb->string_to_object (RepoMan_ior.c_str ());//RM_ior);
+
+ CIAO::RepositoryManagerDaemon_var rm =
+ CIAO::RepositoryManagerDaemon::_narrow (obj.in ());
+
+ if (CORBA::is_nil (rm.in ()))
+ {
+ ACE_ERROR ((LM_ERROR,
+ "Unable to acquire RepositoryManagerDaemon's objref\n"));
+
+ throw CORBA::INTERNAL ();
+ }
+
+ //now obtian the corresponding PackageConfiguration from
+ //the RepositoryManager
+
+ Deployment::PackageConfiguration_var rmpc;
+
+ try
+ {
+ //retrieve the curresponding PackageConfiguration
+ //from the RepoMan
+ rmpc = rm->findPackageByUUID (pcd->UUID);
+
+ ACE_DEBUG ((LM_INFO,
+ "The package was found!\nUUID: %s\n",
+ rmpc->UUID));
+ }
+ catch (Deployment::NoSuchName &)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "Error! Package not found! Location update failed!\n"));
+
+ throw CORBA::INTERNAL ();
+
+ }
+ catch (CORBA::Exception &)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "Error! General exception! Location update failed!\n"));
+
+ throw CORBA::INTERNAL ();
+ }
+
+ //now update the plan
+ if (plan_exists)
+ {
+ cout << "Updating plan ..." << endl;
+
+ PlanUpdater updater (*dp, *rmpc);
+ if (!updater.Visit ())
+ ACE_ERROR ((LM_ERROR,
+ "Partial location update error possible!\n"));
+
+ cout << "Updating plan ... DONE!" << endl;
+
+ size_t add_len = dp->artifact.length ();
+
+ cout << "Updated location: \n";
+ for (size_t i = 0; i < add_len; ++i)
+ {
+ Deployment::ArtifactDeploymentDescription& add = dp->artifact[i];
+ if (ACE_OS::strstr (add.location[0], "http://"))
+ cout << add.location[0] << endl;
+ }
+ }
+ //Done with the location updating
+
+ //do not call the plan analyzer just yet
+ return;
+
+ //creat an action sequence and populate it
+ ::CIAO::RACE::Plan_Actions plan_action_seq;
+
+ /// Create a Plan_Action_seq structure of length 1.
+ plan_action_seq.length (1);
+
+ /// Now populate the Plan_Action_seq structure.
+ plan_action_seq [0].command = ev->command ();
+ plan_action_seq [0].plan = *dp;
+ plan_action_seq [0].package = *pcd;
+
+ /// Now invoke the plan_analyzer.
+ this->context_->get_connection_ingress ()
+ ->analyze_plan (plan_action_seq);
+ }
+ catch (CIAO::Config_Handlers::Config_Error &ex)
+ {
+ ACE_ERROR ((LM_ERROR, "Config_Error exception caught in "
+ "LocationUpdater::push_deployment: %s, %s\n",
+ ex.error_.c_str (),
+ ex.name_.c_str ()));
+ }
+ catch (...)
+ {
+ ACE_ERROR ((LM_ERROR, "Exception caught in push_deployment\n"));
+ }
+ }
+
+ // Operations from Components::SessionComponent
+
+ void
+ LocationUpdater_exec_i::set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ this->context_ =
+ LocationUpdater_Context::_narrow (
+ ctx);
+
+ if (this->context_ == 0)
+ {
+ throw CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ LocationUpdater_exec_i::ciao_preactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ LocationUpdater_exec_i::ciao_postactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ LocationUpdater_exec_i::ccm_activate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ LocationUpdater_exec_i::ccm_passivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ LocationUpdater_exec_i::ccm_remove ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ //==================================================================
+ // Home Executor Implementation Class: LocationUpdater_Home_exec_i
+ //==================================================================
+
+ LocationUpdater_Home_exec_i::LocationUpdater_Home_exec_i (void)
+ {
+ }
+
+ LocationUpdater_Home_exec_i::~LocationUpdater_Home_exec_i (void)
+ {
+ }
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ ::Components::EnterpriseComponent_ptr
+ LocationUpdater_Home_exec_i::create ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_THROW_EX (
+ retval,
+ LocationUpdater_exec_i,
+ CORBA::NO_MEMORY ());
+
+ return retval;
+ }
+
+ extern "C" LOCATIONUPDATER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_CIAO_RACE_LocationUpdater_Home_Impl (void)
+ {
+ ::Components::HomeExecutorBase_ptr retval =
+ ::Components::HomeExecutorBase::_nil ();
+
+ ACE_NEW_RETURN (
+ retval,
+ LocationUpdater_Home_exec_i,
+ ::Components::HomeExecutorBase::_nil ());
+
+ return retval;
+ }
+ }
+ }
+}
diff --git a/modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater_exec.h b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater_exec.h
new file mode 100644
index 00000000000..e3eb2f92fb2
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater_exec.h
@@ -0,0 +1,121 @@
+// $Id$
+//Author: Stoyan Paunov
+
+
+#ifndef CIAO_LOCATIONUPDATER_EXEC_H
+#define CIAO_LOCATIONUPDATER_EXEC_H
+
+#include /**/ "ace/pre.h"
+
+#include "LocationUpdater_svnt.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "LocationUpdater_exec_export.h"
+#include "tao/LocalObject.h"
+
+namespace CIAO
+{
+ namespace RACE
+ {
+ namespace CIDL_LocationUpdater_Impl
+ {
+ class LOCATIONUPDATER_EXEC_Export LocationUpdater_exec_i
+ : public virtual LocationUpdater_Exec,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ LocationUpdater_exec_i (void);
+ virtual ~LocationUpdater_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ virtual void
+ push_deployment (
+ ::CIAO::RACE::Deploy_Input *ev)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Operations from Components::SessionComponent
+
+ virtual void
+ set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ciao_preactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ciao_postactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ccm_activate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ccm_passivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ccm_remove ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ protected:
+ LocationUpdater_Context *context_;
+ };
+
+ class LOCATIONUPDATER_EXEC_Export LocationUpdater_Home_exec_i
+ : public virtual LocationUpdater_Home_Exec,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ LocationUpdater_Home_exec_i (void);
+ virtual ~LocationUpdater_Home_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+ };
+
+ extern "C" LOCATIONUPDATER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_CIAO_RACE_LocationUpdater_Home_Impl (void);
+ }
+ }
+}
+
+#include /**/ "ace/post.h"
+
+#endif /* CIAO_LOCATIONUPDATER_EXEC_H */
+
diff --git a/modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater_exec_export.h b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater_exec_export.h
new file mode 100644
index 00000000000..d24b1fc3538
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater_exec_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl LOCATIONUPDATER_EXEC
+// ------------------------------
+#ifndef LOCATIONUPDATER_EXEC_EXPORT_H
+#define LOCATIONUPDATER_EXEC_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (LOCATIONUPDATER_EXEC_HAS_DLL)
+# define LOCATIONUPDATER_EXEC_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && LOCATIONUPDATER_EXEC_HAS_DLL */
+
+#if !defined (LOCATIONUPDATER_EXEC_HAS_DLL)
+# define LOCATIONUPDATER_EXEC_HAS_DLL 1
+#endif /* ! LOCATIONUPDATER_EXEC_HAS_DLL */
+
+#if defined (LOCATIONUPDATER_EXEC_HAS_DLL) && (LOCATIONUPDATER_EXEC_HAS_DLL == 1)
+# if defined (LOCATIONUPDATER_EXEC_BUILD_DLL)
+# define LOCATIONUPDATER_EXEC_Export ACE_Proper_Export_Flag
+# define LOCATIONUPDATER_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define LOCATIONUPDATER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* LOCATIONUPDATER_EXEC_BUILD_DLL */
+# define LOCATIONUPDATER_EXEC_Export ACE_Proper_Import_Flag
+# define LOCATIONUPDATER_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define LOCATIONUPDATER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* LOCATIONUPDATER_EXEC_BUILD_DLL */
+#else /* LOCATIONUPDATER_EXEC_HAS_DLL == 1 */
+# define LOCATIONUPDATER_EXEC_Export
+# define LOCATIONUPDATER_EXEC_SINGLETON_DECLARATION(T)
+# define LOCATIONUPDATER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* LOCATIONUPDATER_EXEC_HAS_DLL == 1 */
+
+// Set LOCATIONUPDATER_EXEC_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (LOCATIONUPDATER_EXEC_NTRACE)
+# if (ACE_NTRACE == 1)
+# define LOCATIONUPDATER_EXEC_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define LOCATIONUPDATER_EXEC_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !LOCATIONUPDATER_EXEC_NTRACE */
+
+#if (LOCATIONUPDATER_EXEC_NTRACE == 1)
+# define LOCATIONUPDATER_EXEC_TRACE(X)
+#else /* (LOCATIONUPDATER_EXEC_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define LOCATIONUPDATER_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (LOCATIONUPDATER_EXEC_NTRACE == 1) */
+
+#endif /* LOCATIONUPDATER_EXEC_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater_stub_export.h b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater_stub_export.h
new file mode 100644
index 00000000000..a7318989a5f
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater_stub_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl LOCATIONUPDATER_STUB
+// ------------------------------
+#ifndef LOCATIONUPDATER_STUB_EXPORT_H
+#define LOCATIONUPDATER_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (LOCATIONUPDATER_STUB_HAS_DLL)
+# define LOCATIONUPDATER_STUB_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && LOCATIONUPDATER_STUB_HAS_DLL */
+
+#if !defined (LOCATIONUPDATER_STUB_HAS_DLL)
+# define LOCATIONUPDATER_STUB_HAS_DLL 1
+#endif /* ! LOCATIONUPDATER_STUB_HAS_DLL */
+
+#if defined (LOCATIONUPDATER_STUB_HAS_DLL) && (LOCATIONUPDATER_STUB_HAS_DLL == 1)
+# if defined (LOCATIONUPDATER_STUB_BUILD_DLL)
+# define LOCATIONUPDATER_STUB_Export ACE_Proper_Export_Flag
+# define LOCATIONUPDATER_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define LOCATIONUPDATER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* LOCATIONUPDATER_STUB_BUILD_DLL */
+# define LOCATIONUPDATER_STUB_Export ACE_Proper_Import_Flag
+# define LOCATIONUPDATER_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define LOCATIONUPDATER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* LOCATIONUPDATER_STUB_BUILD_DLL */
+#else /* LOCATIONUPDATER_STUB_HAS_DLL == 1 */
+# define LOCATIONUPDATER_STUB_Export
+# define LOCATIONUPDATER_STUB_SINGLETON_DECLARATION(T)
+# define LOCATIONUPDATER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* LOCATIONUPDATER_STUB_HAS_DLL == 1 */
+
+// Set LOCATIONUPDATER_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (LOCATIONUPDATER_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define LOCATIONUPDATER_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define LOCATIONUPDATER_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !LOCATIONUPDATER_STUB_NTRACE */
+
+#if (LOCATIONUPDATER_STUB_NTRACE == 1)
+# define LOCATIONUPDATER_STUB_TRACE(X)
+#else /* (LOCATIONUPDATER_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define LOCATIONUPDATER_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (LOCATIONUPDATER_STUB_NTRACE == 1) */
+
+#endif /* LOCATIONUPDATER_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater_svnt_export.h b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater_svnt_export.h
new file mode 100644
index 00000000000..2bd7f8a87ca
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/LocationUpdater_svnt_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl LOCATIONUPDATER_SVNT
+// ------------------------------
+#ifndef LOCATIONUPDATER_SVNT_EXPORT_H
+#define LOCATIONUPDATER_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (LOCATIONUPDATER_SVNT_HAS_DLL)
+# define LOCATIONUPDATER_SVNT_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && LOCATIONUPDATER_SVNT_HAS_DLL */
+
+#if !defined (LOCATIONUPDATER_SVNT_HAS_DLL)
+# define LOCATIONUPDATER_SVNT_HAS_DLL 1
+#endif /* ! LOCATIONUPDATER_SVNT_HAS_DLL */
+
+#if defined (LOCATIONUPDATER_SVNT_HAS_DLL) && (LOCATIONUPDATER_SVNT_HAS_DLL == 1)
+# if defined (LOCATIONUPDATER_SVNT_BUILD_DLL)
+# define LOCATIONUPDATER_SVNT_Export ACE_Proper_Export_Flag
+# define LOCATIONUPDATER_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define LOCATIONUPDATER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* LOCATIONUPDATER_SVNT_BUILD_DLL */
+# define LOCATIONUPDATER_SVNT_Export ACE_Proper_Import_Flag
+# define LOCATIONUPDATER_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define LOCATIONUPDATER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* LOCATIONUPDATER_SVNT_BUILD_DLL */
+#else /* LOCATIONUPDATER_SVNT_HAS_DLL == 1 */
+# define LOCATIONUPDATER_SVNT_Export
+# define LOCATIONUPDATER_SVNT_SINGLETON_DECLARATION(T)
+# define LOCATIONUPDATER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* LOCATIONUPDATER_SVNT_HAS_DLL == 1 */
+
+// Set LOCATIONUPDATER_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (LOCATIONUPDATER_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define LOCATIONUPDATER_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define LOCATIONUPDATER_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !LOCATIONUPDATER_SVNT_NTRACE */
+
+#if (LOCATIONUPDATER_SVNT_NTRACE == 1)
+# define LOCATIONUPDATER_SVNT_TRACE(X)
+#else /* (LOCATIONUPDATER_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define LOCATIONUPDATER_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (LOCATIONUPDATER_SVNT_NTRACE == 1) */
+
+#endif /* LOCATIONUPDATER_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Input_Adapters/LocationUpdater/Location_Updater.mpc.disable b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/Location_Updater.mpc.disable
new file mode 100644
index 00000000000..7a404ce4129
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/Location_Updater.mpc.disable
@@ -0,0 +1,119 @@
+// generate_component_mpc.pl
+//LocationUpdater.mpc, spaunov Exp
+//Author: Stoyan Paunov
+// $Id$
+
+
+project(LocationUpdater_stub): ciao_deployment_stub, ciao_race_component {
+ after += Input_Adapter_stub
+ sharedname = LocationUpdater_stub
+ idlflags += -Sc \
+ -Wb,stub_export_macro=LOCATIONUPDATER_STUB_Export \
+ -Wb,stub_export_include=LocationUpdater_stub_export.h \
+ -Wb,skel_export_macro=LOCATIONUPDATER_SVNT_Export \
+ -Wb,skel_export_include=LocationUpdater_svnt_export.h
+ dynamicflags = LOCATIONUPDATER_STUB_BUILD_DLL
+ libs += Input_Adapter_stub \
+ Plan_Analyzer_Interface_stub
+
+ IDL_Files {
+ LocationUpdater.idl
+ }
+
+ Source_Files {
+ LocationUpdaterC.cpp
+ }
+
+ Header_Files {
+ LocationUpdaterC.h
+ }
+
+ Inline_Files {
+ LocationUpdaterC.inl
+ }
+}
+
+project(LocationUpdater_svnt) : ciao_servant_dnc, ciao_race_component {
+ after += LocationUpdater_stub \
+ Input_Adapter_svnt
+ sharedname = LocationUpdater_svnt
+ libs += LocationUpdater_stub \
+ Input_Adapter_stub \
+ Input_Adapter_svnt \
+ Plan_Analyzer_Interface_stub
+
+ idlflags += -Sc \
+ -Wb,export_macro=LOCATIONUPDATER_SVNT_Export \
+ -Wb,export_include=LocationUpdater_svnt_export.h
+
+ dynamicflags = LOCATIONUPDATER_SVNT_BUILD_DLL
+
+ CIDL_Files {
+ LocationUpdater.cidl
+ }
+
+ IDL_Files {
+ LocationUpdaterE.idl
+ }
+
+ Source_Files {
+ LocationUpdaterEC.cpp
+ LocationUpdaterS.cpp
+ LocationUpdater_svnt.cpp
+ }
+
+ Header_Files {
+ LocationUpdaterEC.h
+ LocationUpdaterS.h
+ LocationUpdater_svnt.h
+ }
+
+ Inline_Files {
+ LocationUpdaterEC.inl
+ LocationUpdaterS.inl
+ LocationUpdater_svnt.inl
+ }
+}
+
+
+project(LocationUpdater_exec) : ciao_component_dnc, ciao_config_handlers, ciao_race_component {
+ after += LocationUpdater_svnt XSC_Config_Handlers
+ sharedname = LocationUpdater_exec
+ libs += LocationUpdater_stub \
+ LocationUpdater_svnt \
+ Input_Adapter_stub \
+ Input_Adapter_svnt \
+ Plan_Analyzer_Interface_stub \
+
+ idlflags += -Sc \
+ -Wb,export_macro=LOCATIONUPDATER_EXEC_Export \
+ -Wb,export_include=LocationUpdater_exec_export.h
+ dynamicflags = LOCATIONUPDATER_EXEC_BUILD_DLL
+
+ requires += RepositoryManager
+ after += RepositoryManager
+ includes += $(CIAO_ROOT)/DAnCE/RepositoryManager
+
+ IDL_Files {
+
+ }
+
+ Source_Files {
+ LocationUpdater_exec.cpp
+ PCVisitorBase.cpp
+ PlanUpdater.cpp
+ $(CIAO_ROOT)/DAnCE/RepositoryManager/RepositoryManagerDaemonC.cpp
+ }
+}
+
+project(LocationUpdater_Injector) : ciao_component_dnc, ciao_race_component, taoexe {
+ exename = injector
+
+ libs += LocationUpdater_stub
+
+ IDL_Files {
+ }
+ Source_Files {
+ Injector.cpp
+ }
+}
diff --git a/modules/CIAO/RACE/Input_Adapters/LocationUpdater/PCVisitorBase.cpp b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/PCVisitorBase.cpp
new file mode 100644
index 00000000000..040ecb9eb45
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/PCVisitorBase.cpp
@@ -0,0 +1,24 @@
+/* -*- C++ -*- */
+
+//========================================================================
+/*
+ * file PCVisitorBase.cpp
+ *
+ * $Id$
+ *
+ * This file is a dummy which either includes the PCVisitorBase.inl or
+ * is ignored.
+ *
+ * author Stoyan Paunov <spaunov@isis.vanderbilt.edu>
+ */
+//========================================================================
+
+#include "PCVisitorBase.h"
+
+ PCVisitorBase::PCVisitorBase (void)
+ {
+ }
+
+#if !defined (__ACE_INLINE__)
+#include "PCVisitorBase.inl"
+#endif /* __ACE_INLINE__ */
diff --git a/modules/CIAO/RACE/Input_Adapters/LocationUpdater/PCVisitorBase.h b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/PCVisitorBase.h
new file mode 100644
index 00000000000..cd3cb2b8752
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/PCVisitorBase.h
@@ -0,0 +1,214 @@
+/* -*- C++ -*- */
+
+//========================================================================
+/**
+ * file PCVisitorBase.h
+ *
+ * $Id$
+ *
+ * This file contains the virtual base class for the PackageConfiguration
+ * Visitor which is used to traverse the PackageConfiguration element
+ * defined in the PackagingData.idl. The PackageConfiguration has a
+ * number of sequence elements. This class actually implements the
+ * operations which involve sequences and delegates the calls to
+ * the operations which handle single elements from the sequence type.
+ *
+ * author Stoyan Paunov <spaunov@isis.vanderbilt.edu>
+ */
+//========================================================================
+
+#ifndef PC_VISITOR_BASE_H
+#define PC_VISITOR_BASE_H
+
+#include /**/ "ace/pre.h"
+#include "ciao/DeploymentC.h"
+#include "ciao/Deployment_DataC.h"
+#include "ciao/Packaging_DataC.h"
+#include "ace/SString.h" //for the ACE_CString
+#include "ace/Containers_T.h" //for ACE_Unbounded_Stack
+
+
+//forward declaration
+class PCVisitorBase;
+
+//========================================================================
+/**
+ * class PCAdapter
+ *
+ * This class is used as an Adapter around the CIAO::Depolyment elements
+ * which are part of the PackageConfiguration traversal hierarchy in
+ * order to adapt each element to exhibit 'Visitor Node'-like structure.
+ * This allows us to use the Visitor double-dispatch traversal paradigm.
+ */
+//========================================================================
+
+template <typename E>
+class PCAdapter
+{
+public:
+ PCAdapter (E& element) : element_ (element) {}
+ void Accept (PCVisitorBase &v) {v.Visit (*this);}
+ E& get () {return this-element_;}
+
+private:
+ E &element_;
+};
+
+
+template <typename T>
+void Accept (PCVisitorBase &v, T& element_to_visit)
+{
+ v.Visit (element_to_visit);
+}
+
+//========================================================================
+/**
+ * function - visit_sequence
+ *
+ * This function is used to handle sequences of elements where each
+ * element takes the form of a Visitor Node.
+ */
+//========================================================================
+
+
+/// I am using this to dispatch sequences
+template <typename SEQ>
+void visit_sequence (SEQ &seq, PCVisitorBase& v)
+{
+ const CORBA::ULong size = seq.length ();
+
+ for (CORBA::ULong i = 0; i < size; ++i)
+ {
+ Accept(v, seq[i]);
+ }
+}
+
+//========================================================================
+/**
+ * class PCVisitorBase
+ *
+ * This class is a virtual base class for the PackageConfiguration Visitor
+ * The operation which deal with sequences are implemented here by means
+ * of the visit_sequence function above, in order to make the logic of
+ * derived classes easier to write. Writers of derived classes need only
+ * overload the functions which deal with single elements. Sequences are
+ * always handled here.
+ */
+//========================================================================
+
+
+class PCVisitorBase
+{
+public:
+
+ //constructor
+ PCVisitorBase (void);
+
+ ///function what dispatches sequences
+ template <typename SEQ>
+ friend void visit_sequence (SEQ &seq, PCVisitorBase& v);
+
+ /// A whole slew of overloaded routines for different IDL
+ /// data types part of the PackageConfiguration.
+
+ virtual
+ void Visit (Deployment::PackageConfiguration &pc) = 0;
+ void Visit (Deployment::PackageConfigurations &pcs);
+
+ //!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!
+
+ //ComponentPackageDescription descendents
+ virtual
+ void Visit (Deployment::ComponentPackageDescription &cpd) = 0;
+ void Visit (Deployment::ComponentPackageDescriptions &cpds);
+
+ virtual
+ void Visit (Deployment::ComponentInterfaceDescription &cid) = 0;
+ //void Visit (Deployment::ComponentInterfaceDescriptions &cids);
+
+ virtual
+ void Visit (Deployment::PackagedComponentImplementation &pci) = 0;
+ void Visit (Deployment::PackagedComponentImplementations &pcis);
+
+ virtual
+ void Visit (Deployment::ComponentImplementationDescription &cid) = 0;
+ //void Visit (Deployment::ComponentImplementationDescriptions &cids);
+
+ virtual
+ void Visit (Deployment::ComponentAssemblyDescription &cad) = 0;
+ void Visit (Deployment::ComponentAssemblyDescriptions &cads);
+
+ virtual
+ void Visit (Deployment::SubcomponentInstantiationDescription &sid) = 0;
+ void Visit (Deployment::SubcomponentInstantiationDescriptions &sids);
+
+ virtual
+ void Visit (Deployment::MonolithicImplementationDescription &mid) = 0;
+ void Visit (Deployment::MonolithicImplementationDescriptions &mids);
+
+ virtual
+ void Visit (Deployment::NamedImplementationArtifact &nia) = 0;
+ void Visit (Deployment::NamedImplementationArtifacts &nias);
+
+ virtual
+ void Visit (Deployment::ImplementationArtifactDescription &iad) = 0;
+ //void Visit (Deployment::ImplementationArtifactDescriptions &iads);
+
+ //!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!
+
+ //ComponentPackageReference descendents
+ virtual
+ void Visit (Deployment::ComponentPackageReference &cpr) = 0;
+ void Visit (Deployment::ComponentPackageReferences &cprs);
+
+ //!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!
+
+ //properties
+ virtual
+ void Visit (Deployment::AssemblyPropertyMapping &apm) = 0;
+ void Visit (Deployment::AssemblyPropertyMappings &apms);
+
+ virtual
+ void Visit (Deployment::Property &property) = 0;
+ void Visit (Deployment::Properties &properties);
+
+
+ //requirements & capabilities
+ virtual
+ void Visit (Deployment::Requirement &requirement) = 0;
+ void Visit (Deployment::Requirements &requirements);
+
+ virtual
+ void Visit (Deployment::Capability &capability) = 0;
+ void Visit (Deployment::Capabilities &capabilities);
+
+ virtual
+ void Visit (Deployment::ImplementationRequirement &ir) = 0;
+ void Visit (Deployment::ImplementationRequirements &irs);
+
+ virtual
+ void Visit (Deployment::ImplementationDependency &id) = 0;
+ void Visit (Deployment::ImplementationDependencies &ids);
+
+ //ports and connections
+ virtual
+ void Visit (Deployment::AssemblyConnectionDescription &acd) = 0;
+ void Visit (Deployment::AssemblyConnectionDescriptions &acds);
+
+ virtual
+ void Visit (Deployment::SubcomponentPortEndpoint &spe) = 0;
+ void Visit (Deployment::SubcomponentPortEndpoints &spes);
+
+ virtual
+ void Visit (Deployment::ComponentExternalPortEndpoint &cepe) = 0;
+ void Visit (Deployment::ComponentExternalPortEndpoints &cepes);
+
+};
+
+#if defined (__ACE_INLINE__)
+#include "PCVisitorBase.inl"
+#endif /* __ACE_INLINE__ */
+
+#include /**/ "ace/post.h"
+
+#endif /* PC_VISITOR_BASE_H */
diff --git a/modules/CIAO/RACE/Input_Adapters/LocationUpdater/PCVisitorBase.inl b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/PCVisitorBase.inl
new file mode 100644
index 00000000000..f6787601353
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/PCVisitorBase.inl
@@ -0,0 +1,162 @@
+/* -*- C++ -*- */
+
+//========================================================================
+/*
+ * file PCVisitorBase.inl
+ *
+ * $Id$
+ *
+ * This file contains the implementation of the sequence-based
+ * PackageConfiguration Visitor functions. By implementing these
+ * we relieve developers of derived classes of the burden of handling
+ * the correct traversal of sequence-based elements. This implementation
+ * used the visit_sequence templatized function to do the heavy lifting.
+ *
+ * author Stoyan Paunov <spaunov@isis.vanderbilt.edu
+ */
+//========================================================================
+
+
+ /// A whole slew of overloaded routines for different IDL
+ /// data types part of the PackageConfiguration.
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::PackageConfigurations &pcs)
+ {
+ visit_sequence (pcs, *this);
+ }
+
+ //!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!
+
+ //ComponentPackageDescription descendents
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::ComponentPackageDescriptions &cpds)
+ {
+ visit_sequence (cpds, *this);
+ }
+
+ //NOT a member of Deployment
+
+ //ACE_INLINE void PCVisitorBase::Visit
+ // (Deployment::ComponentInterfaceDescriptions &cids)
+ //{
+ // visit_sequence (cids, *this);
+ //}
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::PackagedComponentImplementations &pcis)
+ {
+ visit_sequence (pcis, *this);
+ }
+
+ //NOT a member of Deployment
+
+ //ACE_INLINE void PCVisitorBase::Visit
+ // (Deployment::ComponentImplementationDescriptions &cids)
+ //{
+ // visit_sequence (cids, *this);
+ //}
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::ComponentAssemblyDescriptions &cads)
+ {
+ visit_sequence (cads, *this);
+ }
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::SubcomponentInstantiationDescriptions &sids)
+ {
+ visit_sequence (sids, *this);
+ }
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::MonolithicImplementationDescriptions &mids)
+ {
+ visit_sequence (mids, *this);
+ }
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::NamedImplementationArtifacts &nias)
+ {
+ visit_sequence (nias, *this);
+ }
+
+ //ACE_INLINE void PCVisitorBase::Visit
+ // (Deployment::ImplementationArtifactDescriptions &iads)
+ //{
+ // visit_sequence (iads, *this);
+ //}
+
+ //!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!
+
+ //ComponentPackageReference descendents
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::ComponentPackageReferences &cprs)
+ {
+ visit_sequence (cprs, *this);
+ }
+
+ //!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!
+
+ //properties
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::AssemblyPropertyMappings &apms)
+ {
+ visit_sequence (apms, *this);
+ }
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::Properties &properties)
+ {
+ visit_sequence (properties, *this);
+ }
+
+ //requirements & capabilities
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::Requirements &requirements)
+ {
+ visit_sequence (requirements, *this);
+ }
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::Capabilities &capabilities)
+ {
+ visit_sequence (capabilities, *this);
+ }
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::ImplementationRequirements &irs)
+ {
+ visit_sequence (irs, *this);
+ }
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::ImplementationDependencies &ids)
+ {
+ visit_sequence (ids, *this);
+ }
+
+ //ports and connections
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::AssemblyConnectionDescriptions &acds)
+ {
+ visit_sequence (acds, *this);
+ }
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::SubcomponentPortEndpoints &spes)
+ {
+ visit_sequence (spes, *this);
+ }
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::ComponentExternalPortEndpoints &cepes)
+ {
+ visit_sequence (cepes, *this);
+ }
+
diff --git a/modules/CIAO/RACE/Input_Adapters/LocationUpdater/PlanUpdater.cpp b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/PlanUpdater.cpp
new file mode 100644
index 00000000000..939d015c817
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/PlanUpdater.cpp
@@ -0,0 +1,269 @@
+/* -*- C++ -*- */
+
+//========================================================================
+/*
+ * file PlanUpdater.cpp
+ *
+ * $Id$
+ *
+ * This file contains the implementation of the PackageConfiguration
+ * Visitor class PlanUpdater which derives from PCVisitorBase and attempts
+ * to update the location fields in the received DeploymentPlan to reflect
+ * the locations of the implementation artifacts as outlined in the
+ * PackageConfiguration which are downloadable via HTTP. Each Visit
+ * function focuses on the functionality necessary to process the
+ * PackageConfiguration element which is passed to it as an argument
+ * and on dispatching the next sequence of calls in the correct order!
+ *
+ * author Stoyan Paunov <spaunov@isis.vanderbilt.edu
+ */
+//========================================================================
+
+#include "PCVisitorBase.h"
+#include "PlanUpdater.h"
+
+#include "ace/OS_Memory.h" //for ACE_NEW* macros
+#include "ace/SString.h" //for ACE_CString
+
+#include "ciao/DeploymentC.h"
+#include "ciao/Deployment_DataC.h"
+#include "ciao/Packaging_DataC.h"
+
+#include "Config_Handlers/DnC_Dump.h"
+
+//#include <iostream>
+//using namespace std;
+
+ //Constructor
+ PlanUpdater::PlanUpdater (Deployment::DeploymentPlan &plan,
+ Deployment::PackageConfiguration &pc)
+ : PCVisitorBase (),
+ plan_ (plan),
+ pc_ (pc),
+ status_ (true)
+ {
+ }
+
+ //entry point for the protected visitor to get it do start
+ //the visitation process
+ bool PlanUpdater::Visit ()
+ {
+ Accept (*this, this->pc_);
+
+ return this->status_;
+
+ }
+
+ // A whole slew of overloaded routines for different IDL
+ // data types part of the PackageConfiguration.
+
+
+ void PlanUpdater::Visit (Deployment::PackageConfiguration &pc)
+ {
+ //visit the ComponentPackageDescription
+ if (pc.basePackage.length ())
+ {
+ //currently no support for that anywhere
+ //for (size_t r = 0; r = pc.selectRequirement.length (); ++r);
+
+ Accept (*this, pc.basePackage);
+ }
+ else
+ ACE_DEBUG ((LM_WARNING,
+ "[PlanUpdater - PackageConfiguration] We currently "
+ "do NOT support package references, specializedConfigs",
+ "or imports!\n"));
+ }
+
+ //!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!
+
+ //ComponentPackageDescription descendents
+
+ void PlanUpdater::Visit (Deployment::ComponentPackageDescription &cpd)
+ {
+ //do not need to visit the interface
+ //Accept (*this, cpd.realizes);
+
+ //visit the implementations
+ Accept (*this, cpd.implementation);
+ }
+
+
+ void PlanUpdater::Visit (Deployment::ComponentInterfaceDescription &cid)
+ {
+ //Might want to populate this too once PICML starts supporting it
+ }
+
+
+ void PlanUpdater::Visit (Deployment::PackagedComponentImplementation &pci)
+ {
+ //visit the referencedImplementationArtifact
+ Accept (*this, pci.referencedImplementation);
+ }
+
+
+ void PlanUpdater::Visit (Deployment::ComponentImplementationDescription &cid)
+ {
+ if (cid.assemblyImpl.length ())
+ //visit the component assembly
+ Accept (*this, cid.assemblyImpl);
+ else
+ //visit the monolithic component
+ Accept (*this, cid.monolithicImpl);
+ }
+
+
+ void PlanUpdater::Visit (Deployment::ComponentAssemblyDescription &cad)
+ {
+ //visit the SubcomponentInstantiationDescription
+ Accept (*this, cad.instance);
+
+ //do not need to visit the connections
+ //Accept (*this, cad.connection);
+ }
+
+
+ void PlanUpdater::Visit (Deployment::SubcomponentInstantiationDescription &sid)
+ {
+ //visit the ComponentPackageDescription (again)
+ if (sid.basePackage.length ())
+ //visit the base package in the subcomponent
+ Accept (*this, sid.basePackage);
+ else
+ ACE_DEBUG ((LM_WARNING,
+ "[PlanUpdater - SubcomponentInstantiationDescription] ",
+ "We currently do NOT support package references, ",
+ "specializedConfigs or imports!\n"));
+ }
+
+
+ void PlanUpdater::Visit (Deployment::MonolithicImplementationDescription &mid)
+ {
+ //NOTE: There are usually 3 NamedImplementationArtifacts per
+ //MonolithicImplementationDescription *_stub, *_svnt & *_exec
+
+ //visit the NamedImplementationArtifacts
+ Accept (*this, mid.primaryArtifact);
+ }
+
+
+ void PlanUpdater::Visit (Deployment::NamedImplementationArtifact &nia)
+ {
+ //visit the actual ImplementationArtifactDescriptor
+ Accept (*this, nia.referencedArtifact);
+ }
+
+
+ //This function attempts to update the location of the artifact deployment
+ //descriptions to reflect the once in the RepositoryManager.
+ //
+ //Not sure what the input is here! I am assuming that the
+ //location came from the descriptor files, so it just holds
+ //the name of the library. If this code evolves, we will need to
+ //update the string matching mechanism with a more complicated one.
+
+
+ void PlanUpdater::Visit (Deployment::ImplementationArtifactDescription &iad)
+ {
+ //some heavy lifting here!
+ static size_t iters = 0;
+ ++iters;
+ ACE_CString iad_loc (iad.location[0]);
+
+ size_t add_len = this->plan_.artifact.length ();
+
+ for (size_t i = 0; i < add_len; ++i)
+ {
+ Deployment::ArtifactDeploymentDescription& add = this->plan_.artifact[i];
+
+ //NOTE: Right now we only populate location[0]
+ //When this evolves, check needs to evolve as well.
+ ACE_CString add_loc (add.location[0]);
+
+ //check if the add location has already been updated
+ if (ACE_OS::strstr (add_loc.c_str (), "http://"))//, add_loc.length ()))
+ continue;
+
+ //check for a match and update the location
+ if (ACE_OS::strstr (iad_loc.c_str (), add_loc.c_str ()))//, iad_loc.length ()))
+ {
+ //if there is a match substitute one for the other
+ add.location[0] = CORBA::string_dup (iad_loc.c_str ());
+
+ //ACE_OS::printf ("Matching %s with %s\n",
+ // iad_loc.c_str (),
+ // add_loc.c_str ());
+
+ }
+
+ }
+ }
+
+ //!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!
+
+ //ComponentPackageReference descendents
+
+ void PlanUpdater::Visit (Deployment::ComponentPackageReference &cpr)
+ {
+ //not implemented
+ }
+
+ //!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!
+
+ //properties
+
+ void PlanUpdater::Visit (Deployment::AssemblyPropertyMapping &apm)
+ {
+ //not needed
+ }
+
+
+ void PlanUpdater::Visit (Deployment::Property &property)
+ {
+ //not needed
+ }
+
+
+ //requirements & capabilities
+
+ void PlanUpdater::Visit (Deployment::Requirement &requirement)
+ {
+ //not needed
+ }
+
+
+ void PlanUpdater::Visit (Deployment::Capability &capability)
+ {
+ //not needed
+ }
+
+
+ void PlanUpdater::Visit (Deployment::ImplementationRequirement &ir)
+ {
+ //not needed
+ }
+
+
+ void PlanUpdater::Visit (Deployment::ImplementationDependency &id)
+ {
+ //not needed
+ }
+
+ //ports and connections
+
+ void PlanUpdater::Visit (Deployment::AssemblyConnectionDescription &acd)
+ {
+ //not needed
+ }
+
+
+ void PlanUpdater::Visit (Deployment::SubcomponentPortEndpoint &spe)
+ {
+ //not needed
+ }
+
+
+ void PlanUpdater::Visit (Deployment::ComponentExternalPortEndpoint &cepe)
+ {
+ //not needed
+ }
diff --git a/modules/CIAO/RACE/Input_Adapters/LocationUpdater/PlanUpdater.h b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/PlanUpdater.h
new file mode 100644
index 00000000000..298b1b92fbb
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/PlanUpdater.h
@@ -0,0 +1,158 @@
+/* -*- C++ -*- */
+
+//========================================================================
+/**
+ * file PlanUpdater.h
+ *
+ * $Id$
+ *
+ * This file contains a Visitor classes which are used to traverse a
+ * PackageConfiguration and update the location fields in a corresponding
+ * DeploymentPlan.
+ *
+ * author Stoyan Paunov <spaunov@isis.vanderbilt.edu>
+ */
+//========================================================================
+
+#ifndef PLAN_UPDATER_H
+#define PLAN_UPDATER_H
+
+#include /**/ "ace/pre.h"
+#include "ace/SString.h" //for the ACE_CString
+
+#include "PCVisitorBase.h" //for the base visitor
+//#include "Node_T.h" //Node
+#include "ace/Containers_T.h" //for ACE_Double_Linked_List
+
+
+
+#include "ciao/DeploymentC.h"
+#include "ciao/Deployment_BaseC.h"
+#include "ciao/Deployment_DataC.h"
+#include "ciao/Packaging_DataC.h"
+
+//namespace {
+////Definition of various Node elements parametrized by
+////Deployment specific types
+// typedef Node<Deployment::Node> NNode;
+// typedef Node<Deployment::MonolithicImplementationDescription> MNode;
+//
+////Definition of various stacks used to store information
+////about the elements being parsed at various levels
+// typedef ACE_Bounded_Stack<int> INDEX_STACK;
+//
+////definition of a Node which takes an ACE_CString
+// typedef Node<ACE_CString> SNode;
+//}
+
+//===========================================================================
+/**
+ * class PlanUpdater
+ *
+ * This class takes in a Deployment Plan and a PackageConfiguration and
+ * attempts to update the location fields in the deployment plan to reflect
+ * the locations available via HTTP as outlined in the passed Package-
+ * Configuration. It derives from PCVisitorBase and overloads the functions
+ * which deal with single elements. Sequences are handled in the base class.
+ */
+//===========================================================================
+
+
+class PlanUpdater : public PCVisitorBase
+{
+public:
+
+ //constructor
+ PlanUpdater (Deployment::DeploymentPlan &plan,
+ Deployment::PackageConfiguration &pc);
+
+ ///Entry point to protected Visitor functions
+ bool Visit ();
+
+protected:
+ /// A whole slew of overloaded routines for different IDL
+ /// data types part of the PackageConfiguration.
+
+ virtual
+ void Visit (Deployment::PackageConfiguration &pc);
+
+ //!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!
+
+ //ComponentPackageDescription descendents
+ virtual
+ void Visit (Deployment::ComponentPackageDescription &cpd);
+
+ virtual
+ void Visit (Deployment::ComponentInterfaceDescription &cid);
+
+ virtual
+ void Visit (Deployment::PackagedComponentImplementation &pci);
+
+ virtual
+ void Visit (Deployment::ComponentImplementationDescription &cid);
+
+ virtual
+ void Visit (Deployment::ComponentAssemblyDescription &cad);
+
+ virtual
+ void Visit (Deployment::SubcomponentInstantiationDescription &sid);
+
+ virtual
+ void Visit (Deployment::MonolithicImplementationDescription &mid);
+
+ virtual
+ void Visit (Deployment::NamedImplementationArtifact &nia);
+
+ virtual
+ void Visit (Deployment::ImplementationArtifactDescription &iad);
+
+ //!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!
+
+ //ComponentPackageReference descendents
+ virtual
+ void Visit (Deployment::ComponentPackageReference &cpr);
+
+ //!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!
+
+ //properties
+ virtual
+ void Visit (Deployment::AssemblyPropertyMapping &apm);
+
+ virtual
+ void Visit (Deployment::Property &property);
+
+
+ //requirements & capabilities
+ virtual
+ void Visit (Deployment::Requirement &requirement);
+
+ virtual
+ void Visit (Deployment::Capability &capability);
+
+ virtual
+ void Visit (Deployment::ImplementationRequirement &ir);
+
+ virtual
+ void Visit (Deployment::ImplementationDependency &id);
+
+ //ports and connections
+ virtual
+ void Visit (Deployment::AssemblyConnectionDescription &acd);
+
+ virtual
+ void Visit (Deployment::SubcomponentPortEndpoint &spe);
+
+ virtual
+ void Visit (Deployment::ComponentExternalPortEndpoint &cepe);
+
+
+private:
+
+ Deployment::DeploymentPlan& plan_;
+ Deployment::PackageConfiguration& pc_;
+ bool status_;
+};
+
+#include /**/ "ace/post.h"
+
+#endif /* PLAN_UPDATER_H */
diff --git a/modules/CIAO/RACE/Input_Adapters/LocationUpdater/README.txt b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/README.txt
new file mode 100644
index 00000000000..fc35c1a633c
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/LocationUpdater/README.txt
@@ -0,0 +1,12 @@
+
+
+//Author: Stoyan Paunov
+
+This is the README for the LocationUpdater Input Adapter for RACE. This input
+adapter has similar functionality to the Interactive Input Adapter, however
+instead of using only the descriptors on disk, it uses the UUID from the
+parsed PackageConfiguration to retrieve its counterpart from the Repository
+Manager and updates the location of the implementation artifact to point to
+the HTTP server. This way the files can then be retrieved by DAnCE at
+deployment.
+
diff --git a/modules/CIAO/RACE/Input_Adapters/PlanGenerator/Injector.cpp b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/Injector.cpp
new file mode 100644
index 00000000000..a0eaa7bbb9b
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/Injector.cpp
@@ -0,0 +1,180 @@
+/**
+ * @file Injector.cpp
+ * @author Will Otte <wotte@dre.vanderbilt.edu>
+ * @author Stoyan Paunov
+ *
+ * $Id$
+ */
+
+#include "Input_Adapters/PlanGenerator/PlanGeneratorC.h"
+#include "ace/OS.h"
+#include "ace/Get_Opt.h"
+#include "ace/SString.h"
+#include "orbsvcs/CosNamingC.h"
+#include "ace/Auto_Ptr.h"
+
+#include <iostream>
+using namespace std;
+
+namespace CIAO
+{
+ namespace RACE
+ {
+ namespace Injector
+ {
+ const char *package_name = 0;
+ const char *iia_ior_file = 0;
+ const char *iia_name = "RACE::InteractiveInput";
+
+ bool teardown = false;
+
+ static void
+ usage (const ACE_TCHAR* program)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Usage %s\n")
+ ACE_TEXT ("-p <Name of package to fetch from the RepoMan>\n")
+ ACE_TEXT ("-t <Teardown plan>\n")
+ ACE_TEXT ("-k <Interactive_Input_Adaptor IOR, "
+ "use naming service if not present\n"),
+ program));
+ }
+
+ static bool
+ parse_args (int argc,
+ ACE_TCHAR *argv[])
+ {
+ ACE_Get_Opt get_opt (argc,
+ argv,
+ ACE_TEXT ("p:k:thn:"));
+ int c;
+
+ while ((c = get_opt ()) != EOF)
+ {
+ switch (c)
+ {
+ case 'p':
+ package_name = get_opt.opt_arg ();
+ break;
+
+ case 'k':
+ iia_ior_file = get_opt.opt_arg ();
+ break;
+
+ case 't':
+ teardown = true;
+ break;
+
+ case 'n':
+ iia_name = get_opt.opt_arg ();
+
+ case 'h':
+ default:
+ usage (argv[0]);
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ CORBA::Object_ptr
+ fetch_reference_naming (CORBA::ORB_ptr orb,
+ const ACE_CString &name)
+ {
+ ACE_ERROR ((LM_ERROR, "Resolving via nameservice...\n"));
+ using namespace CosNaming;
+
+ // Resolve naming service
+ CORBA::Object_var tmp =
+ orb->resolve_initial_references ("NameService");
+
+ NamingContext_var pns =
+ NamingContext::_narrow (tmp.in ());
+
+ Name ns_name;
+ CORBA::ULong i = 0;
+
+ ACE_Tokenizer tok ( name.rep ());
+ tok.delimiter_replace (':', 0);
+ tok.delimiter_replace ('/', 0);
+
+ char *name_element = 0;
+ while ((name_element = tok.next ()) != 0)
+ {
+ ns_name.length (ns_name.length () + 1);
+ ns_name[i].id = CORBA::string_dup (name_element);
+ ++i;
+ }
+
+
+ return pns->resolve (ns_name);
+ }
+
+ static int
+ run_main_implementation (int argc, ACE_TCHAR *argv[])
+ {
+ try
+ {
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "");
+
+ if (!parse_args (argc, argv))
+ return -1;
+
+
+ // Resolve our input adapter...
+ CORBA::Object_var tmp;
+
+ cout << "resolving: " << iia_ior_file << endl;
+
+ if (iia_ior_file != 0)
+ tmp = orb->string_to_object (iia_ior_file);
+ else // must be a name....
+ tmp = fetch_reference_naming (orb.in (), iia_name);
+
+ CIAO::RACE::PlanGenerator_var iia
+ = CIAO::RACE::PlanGenerator::_narrow (tmp.in ());
+
+ // Create deploy input event.
+ CIAO::RACE::Deploy_Input_var input =
+ new OBV_CIAO::RACE::Deploy_Input;
+
+ input->package_name (package_name);
+
+ if (teardown)
+ {
+ input->command (::CIAO::RACE::TEARDOWN);
+ }
+ else
+ {
+ input->command (::CIAO::RACE::DEPLOY);
+ }
+
+ // Get the consumer for the IIA
+ ::CIAO::RACE::Deploy_InputConsumer_var consumer =
+ iia->get_consumer_deployment ();
+
+ // push the event
+ consumer->push_Deploy_Input (input.in ());
+
+ }
+ catch (...)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "(%P|%t) Injector: Unknown exception\n"));
+ return -1;
+ }
+
+ return 0;
+ }
+
+ } //namespace Injector
+ } //namespace RACE
+} //Namespace CIAO
+
+int main (int argc, ACE_TCHAR **argv)
+{
+ return CIAO::RACE::Injector::run_main_implementation (argc, argv);
+}
+
diff --git a/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PCVisitorBase.cpp b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PCVisitorBase.cpp
new file mode 100644
index 00000000000..040ecb9eb45
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PCVisitorBase.cpp
@@ -0,0 +1,24 @@
+/* -*- C++ -*- */
+
+//========================================================================
+/*
+ * file PCVisitorBase.cpp
+ *
+ * $Id$
+ *
+ * This file is a dummy which either includes the PCVisitorBase.inl or
+ * is ignored.
+ *
+ * author Stoyan Paunov <spaunov@isis.vanderbilt.edu>
+ */
+//========================================================================
+
+#include "PCVisitorBase.h"
+
+ PCVisitorBase::PCVisitorBase (void)
+ {
+ }
+
+#if !defined (__ACE_INLINE__)
+#include "PCVisitorBase.inl"
+#endif /* __ACE_INLINE__ */
diff --git a/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PCVisitorBase.h b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PCVisitorBase.h
new file mode 100644
index 00000000000..cd3cb2b8752
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PCVisitorBase.h
@@ -0,0 +1,214 @@
+/* -*- C++ -*- */
+
+//========================================================================
+/**
+ * file PCVisitorBase.h
+ *
+ * $Id$
+ *
+ * This file contains the virtual base class for the PackageConfiguration
+ * Visitor which is used to traverse the PackageConfiguration element
+ * defined in the PackagingData.idl. The PackageConfiguration has a
+ * number of sequence elements. This class actually implements the
+ * operations which involve sequences and delegates the calls to
+ * the operations which handle single elements from the sequence type.
+ *
+ * author Stoyan Paunov <spaunov@isis.vanderbilt.edu>
+ */
+//========================================================================
+
+#ifndef PC_VISITOR_BASE_H
+#define PC_VISITOR_BASE_H
+
+#include /**/ "ace/pre.h"
+#include "ciao/DeploymentC.h"
+#include "ciao/Deployment_DataC.h"
+#include "ciao/Packaging_DataC.h"
+#include "ace/SString.h" //for the ACE_CString
+#include "ace/Containers_T.h" //for ACE_Unbounded_Stack
+
+
+//forward declaration
+class PCVisitorBase;
+
+//========================================================================
+/**
+ * class PCAdapter
+ *
+ * This class is used as an Adapter around the CIAO::Depolyment elements
+ * which are part of the PackageConfiguration traversal hierarchy in
+ * order to adapt each element to exhibit 'Visitor Node'-like structure.
+ * This allows us to use the Visitor double-dispatch traversal paradigm.
+ */
+//========================================================================
+
+template <typename E>
+class PCAdapter
+{
+public:
+ PCAdapter (E& element) : element_ (element) {}
+ void Accept (PCVisitorBase &v) {v.Visit (*this);}
+ E& get () {return this-element_;}
+
+private:
+ E &element_;
+};
+
+
+template <typename T>
+void Accept (PCVisitorBase &v, T& element_to_visit)
+{
+ v.Visit (element_to_visit);
+}
+
+//========================================================================
+/**
+ * function - visit_sequence
+ *
+ * This function is used to handle sequences of elements where each
+ * element takes the form of a Visitor Node.
+ */
+//========================================================================
+
+
+/// I am using this to dispatch sequences
+template <typename SEQ>
+void visit_sequence (SEQ &seq, PCVisitorBase& v)
+{
+ const CORBA::ULong size = seq.length ();
+
+ for (CORBA::ULong i = 0; i < size; ++i)
+ {
+ Accept(v, seq[i]);
+ }
+}
+
+//========================================================================
+/**
+ * class PCVisitorBase
+ *
+ * This class is a virtual base class for the PackageConfiguration Visitor
+ * The operation which deal with sequences are implemented here by means
+ * of the visit_sequence function above, in order to make the logic of
+ * derived classes easier to write. Writers of derived classes need only
+ * overload the functions which deal with single elements. Sequences are
+ * always handled here.
+ */
+//========================================================================
+
+
+class PCVisitorBase
+{
+public:
+
+ //constructor
+ PCVisitorBase (void);
+
+ ///function what dispatches sequences
+ template <typename SEQ>
+ friend void visit_sequence (SEQ &seq, PCVisitorBase& v);
+
+ /// A whole slew of overloaded routines for different IDL
+ /// data types part of the PackageConfiguration.
+
+ virtual
+ void Visit (Deployment::PackageConfiguration &pc) = 0;
+ void Visit (Deployment::PackageConfigurations &pcs);
+
+ //!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!
+
+ //ComponentPackageDescription descendents
+ virtual
+ void Visit (Deployment::ComponentPackageDescription &cpd) = 0;
+ void Visit (Deployment::ComponentPackageDescriptions &cpds);
+
+ virtual
+ void Visit (Deployment::ComponentInterfaceDescription &cid) = 0;
+ //void Visit (Deployment::ComponentInterfaceDescriptions &cids);
+
+ virtual
+ void Visit (Deployment::PackagedComponentImplementation &pci) = 0;
+ void Visit (Deployment::PackagedComponentImplementations &pcis);
+
+ virtual
+ void Visit (Deployment::ComponentImplementationDescription &cid) = 0;
+ //void Visit (Deployment::ComponentImplementationDescriptions &cids);
+
+ virtual
+ void Visit (Deployment::ComponentAssemblyDescription &cad) = 0;
+ void Visit (Deployment::ComponentAssemblyDescriptions &cads);
+
+ virtual
+ void Visit (Deployment::SubcomponentInstantiationDescription &sid) = 0;
+ void Visit (Deployment::SubcomponentInstantiationDescriptions &sids);
+
+ virtual
+ void Visit (Deployment::MonolithicImplementationDescription &mid) = 0;
+ void Visit (Deployment::MonolithicImplementationDescriptions &mids);
+
+ virtual
+ void Visit (Deployment::NamedImplementationArtifact &nia) = 0;
+ void Visit (Deployment::NamedImplementationArtifacts &nias);
+
+ virtual
+ void Visit (Deployment::ImplementationArtifactDescription &iad) = 0;
+ //void Visit (Deployment::ImplementationArtifactDescriptions &iads);
+
+ //!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!
+
+ //ComponentPackageReference descendents
+ virtual
+ void Visit (Deployment::ComponentPackageReference &cpr) = 0;
+ void Visit (Deployment::ComponentPackageReferences &cprs);
+
+ //!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!
+
+ //properties
+ virtual
+ void Visit (Deployment::AssemblyPropertyMapping &apm) = 0;
+ void Visit (Deployment::AssemblyPropertyMappings &apms);
+
+ virtual
+ void Visit (Deployment::Property &property) = 0;
+ void Visit (Deployment::Properties &properties);
+
+
+ //requirements & capabilities
+ virtual
+ void Visit (Deployment::Requirement &requirement) = 0;
+ void Visit (Deployment::Requirements &requirements);
+
+ virtual
+ void Visit (Deployment::Capability &capability) = 0;
+ void Visit (Deployment::Capabilities &capabilities);
+
+ virtual
+ void Visit (Deployment::ImplementationRequirement &ir) = 0;
+ void Visit (Deployment::ImplementationRequirements &irs);
+
+ virtual
+ void Visit (Deployment::ImplementationDependency &id) = 0;
+ void Visit (Deployment::ImplementationDependencies &ids);
+
+ //ports and connections
+ virtual
+ void Visit (Deployment::AssemblyConnectionDescription &acd) = 0;
+ void Visit (Deployment::AssemblyConnectionDescriptions &acds);
+
+ virtual
+ void Visit (Deployment::SubcomponentPortEndpoint &spe) = 0;
+ void Visit (Deployment::SubcomponentPortEndpoints &spes);
+
+ virtual
+ void Visit (Deployment::ComponentExternalPortEndpoint &cepe) = 0;
+ void Visit (Deployment::ComponentExternalPortEndpoints &cepes);
+
+};
+
+#if defined (__ACE_INLINE__)
+#include "PCVisitorBase.inl"
+#endif /* __ACE_INLINE__ */
+
+#include /**/ "ace/post.h"
+
+#endif /* PC_VISITOR_BASE_H */
diff --git a/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PCVisitorBase.inl b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PCVisitorBase.inl
new file mode 100644
index 00000000000..f6787601353
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PCVisitorBase.inl
@@ -0,0 +1,162 @@
+/* -*- C++ -*- */
+
+//========================================================================
+/*
+ * file PCVisitorBase.inl
+ *
+ * $Id$
+ *
+ * This file contains the implementation of the sequence-based
+ * PackageConfiguration Visitor functions. By implementing these
+ * we relieve developers of derived classes of the burden of handling
+ * the correct traversal of sequence-based elements. This implementation
+ * used the visit_sequence templatized function to do the heavy lifting.
+ *
+ * author Stoyan Paunov <spaunov@isis.vanderbilt.edu
+ */
+//========================================================================
+
+
+ /// A whole slew of overloaded routines for different IDL
+ /// data types part of the PackageConfiguration.
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::PackageConfigurations &pcs)
+ {
+ visit_sequence (pcs, *this);
+ }
+
+ //!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!
+
+ //ComponentPackageDescription descendents
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::ComponentPackageDescriptions &cpds)
+ {
+ visit_sequence (cpds, *this);
+ }
+
+ //NOT a member of Deployment
+
+ //ACE_INLINE void PCVisitorBase::Visit
+ // (Deployment::ComponentInterfaceDescriptions &cids)
+ //{
+ // visit_sequence (cids, *this);
+ //}
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::PackagedComponentImplementations &pcis)
+ {
+ visit_sequence (pcis, *this);
+ }
+
+ //NOT a member of Deployment
+
+ //ACE_INLINE void PCVisitorBase::Visit
+ // (Deployment::ComponentImplementationDescriptions &cids)
+ //{
+ // visit_sequence (cids, *this);
+ //}
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::ComponentAssemblyDescriptions &cads)
+ {
+ visit_sequence (cads, *this);
+ }
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::SubcomponentInstantiationDescriptions &sids)
+ {
+ visit_sequence (sids, *this);
+ }
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::MonolithicImplementationDescriptions &mids)
+ {
+ visit_sequence (mids, *this);
+ }
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::NamedImplementationArtifacts &nias)
+ {
+ visit_sequence (nias, *this);
+ }
+
+ //ACE_INLINE void PCVisitorBase::Visit
+ // (Deployment::ImplementationArtifactDescriptions &iads)
+ //{
+ // visit_sequence (iads, *this);
+ //}
+
+ //!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!
+
+ //ComponentPackageReference descendents
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::ComponentPackageReferences &cprs)
+ {
+ visit_sequence (cprs, *this);
+ }
+
+ //!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!
+
+ //properties
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::AssemblyPropertyMappings &apms)
+ {
+ visit_sequence (apms, *this);
+ }
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::Properties &properties)
+ {
+ visit_sequence (properties, *this);
+ }
+
+ //requirements & capabilities
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::Requirements &requirements)
+ {
+ visit_sequence (requirements, *this);
+ }
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::Capabilities &capabilities)
+ {
+ visit_sequence (capabilities, *this);
+ }
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::ImplementationRequirements &irs)
+ {
+ visit_sequence (irs, *this);
+ }
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::ImplementationDependencies &ids)
+ {
+ visit_sequence (ids, *this);
+ }
+
+ //ports and connections
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::AssemblyConnectionDescriptions &acds)
+ {
+ visit_sequence (acds, *this);
+ }
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::SubcomponentPortEndpoints &spes)
+ {
+ visit_sequence (spes, *this);
+ }
+
+ ACE_INLINE void PCVisitorBase::Visit
+ (Deployment::ComponentExternalPortEndpoints &cepes)
+ {
+ visit_sequence (cepes, *this);
+ }
+
diff --git a/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator.cdp b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator.cdp
new file mode 100644
index 00000000000..56ab62c4cb6
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator.cdp
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<Deployment:deploymentPlan xmlns:Deployment="http://www.omg.org/Deployment" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd">
+
+ <UUID>1D2C2C63-CE33-4088-9443-781F080D8888</UUID>
+
+ <implementation id="_73898E70-9FF1-4881-9313-A2DE181EEEEE">
+ <name>RT1H_Combined.RA_ComponentImplementations.PlanGeneratorImplementation.PlanGeneratorMonolithicImpl</name>
+ <source/>
+ <artifact>__AD4B52E0-111C-49E2-BE47-29CFF978676F</artifact>
+ <artifact>__E4AF24BF-5A39-BBB1-8217-6343D7D55598</artifact>
+ <artifact>__76A0CEFE-22F7-FFF7-BB91-F309FFFAD33C</artifact>
+ </implementation>
+
+ <instance id="_2BD4D476-2F5B-4CCC-A8CF-311084273028">
+ <name>RT1H_Combined.ComponentImplementations.RACE.RACE.PlanGenerator</name>
+ <node>PlanGenerator</node>
+ <source/>
+ <implementation>_73898E70-9FF1-4881-9313-A2DE181EEEEE</implementation>
+ <configProperty>
+ <name>ComponentIOR</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>PlanGenerator.ior</string>
+ </value>
+ </value>
+ </configProperty>
+ <configProperty>
+ <name>RegisterNaming</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>RACE::InteractiveInput</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <artifact id="__AD4B52E0-111C-49E2-BE47-29CFF978676F">
+ <name>RT1H_Combined.RA_ImplementationArtifacts.PlanGeneratorArtifacts.PlanGenerator_stub</name>
+ <source/>
+ <node/>
+ <location>PlanGenerator_stub</location>
+ </artifact>
+
+ <artifact id="__E4AF24BF-5A39-BBB1-8217-6343D7D55598">
+ <name>RT1H_Combined.RA_ImplementationArtifacts.PlanGeneratorArtifacts.PlanGenerator_svnt</name>
+ <source/>
+ <node/>
+ <location>PlanGenerator_svnt</location>
+ <execParameter>
+ <name>entryPoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CIAO_RACE_PlanGenerator_Home_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+
+ <artifact id="__76A0CEFE-22F7-FFF7-BB91-F309FFFAD33C">
+ <name>RT1H_Combined.RA_ImplementationArtifacts.PlanGeneratorArtifacts.PlanGenerator_exec</name>
+ <source/>
+ <node/>
+ <location>PlanGenerator_exec</location>
+ <execParameter>
+ <name>entryPoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CIAO_RACE_PlanGenerator_Home_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+
+</Deployment:deploymentPlan>
diff --git a/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator.cidl b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator.cidl
new file mode 100644
index 00000000000..9ceb659e753
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator.cidl
@@ -0,0 +1,26 @@
+//PlanGenerator.cidl,v 1.1 spaunov Exp
+//Author: Stoyan Paunov
+//$Id$
+
+#ifndef RACE_PLAN_GENERATOR_INPUT_ADAPTER_CIDL
+#define RACE_PLAN_GENERATOR_INPUT_ADAPTER_CIDL
+
+#include "PlanGenerator.idl"
+
+module CIAO
+{
+ module RACE
+ {
+ composition session PlanGenerator_Impl
+ {
+ home executor PlanGenerator_Home_Exec
+ {
+ implements RACE::PlanGenerator_Home;
+ manages PlanGenerator_Exec;
+ };
+ };
+ };
+};
+
+
+#endif /* RACE_PLAN_GENERATOR_INPUT_ADAPTER_CIDL */
diff --git a/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator.cpp b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator.cpp
new file mode 100644
index 00000000000..eb761275c6e
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator.cpp
@@ -0,0 +1,451 @@
+/* -*- C++ -*- */
+
+//========================================================================
+/*
+ * file Plan_Generator.cpp
+ *
+ * $Id$
+ *
+ * This file contains the implementation of the PackageConfiguration
+ * Visitor class Plan_Generator which derives from PCVisitorBase. Each
+ * Visit function focuses on the functionality necessary to process
+ * the PackageConfiguration element which is passed to it as an argument
+ * and on dispatching the next sequence of calls in the correct order!
+ *
+ * This implementation takes a PackageConfiguration and tries to grow
+ * a DeploymentPlan out of it by expanding the latter in width and depth
+ * simultaneously. At each level of the PackageConfiguration the
+ * Plan_Generator first expands the DeploymentPlan vertically at the
+ * corrsponding level and then dispatches the children of the current
+ * PackageConfiguration element. This in turn might and most probably
+ * will cause another vertical expansion of the DeploymentPlan, however
+ * for a different element. This effect is produced due to the flattened
+ * structure of the DeploymentPlan.
+ *
+ * author Stoyan Paunov <spaunov@isis.vanderbilt.edu
+ */
+//========================================================================
+
+#include "PCVisitorBase.h"
+#include "PlanGenerator.h"
+
+#include "ace/OS_Memory.h" //for ACE_NEW* macros
+#include "ace/SString.h" //for ACE_CString
+
+#include "ciao/DeploymentC.h"
+#include "ciao/Deployment_DataC.h"
+#include "ciao/Packaging_DataC.h"
+
+#include "Config_Handlers/DnC_Dump.h"
+
+#include <iostream>
+using namespace std;
+
+ //Constructor
+ Plan_Generator::Plan_Generator (Deployment::DeploymentPlan &plan,
+ Deployment::PackageConfiguration &pc)
+ : PCVisitorBase (),
+ plan_ (plan),
+ pc_ (pc),
+ last_cad_ (0)
+ {
+ }
+
+ //entry point for the protected visitor to get it do start
+ //the visitation process
+ void Plan_Generator::Visit ()
+ {
+ Accept (*this, this->pc_);
+ }
+
+ // A whole slew of overloaded routines for different IDL
+ // data types part of the PackageConfiguration.
+
+
+ void Plan_Generator::Visit (Deployment::PackageConfiguration &pc)
+ {
+
+ //visit the ComponentPackageDescription
+ if (pc.basePackage.length ())
+ {
+ //currently no support for that anywhere
+ //for (size_t r = 0; r = pc.selectRequirement.length (); ++r);
+
+ Accept (*this, pc.basePackage);
+ }
+ else
+ ACE_DEBUG ((LM_WARNING,
+ "[Plan_Generator - PackageConfiguration] We currently "
+ "do NOT support package references, specializedConfigs",
+ "or imports!\n"));
+ }
+
+ //!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!
+
+ //ComponentPackageDescription descendents
+
+ void Plan_Generator::Visit (Deployment::ComponentPackageDescription &cpd)
+ {
+ Accept (*this, cpd.realizes);
+ //for (size_t impl = 0; impl < cpd.implementation.length (); ++impl)
+ Accept (*this, cpd.implementation[0]);
+ }
+
+
+ void Plan_Generator::Visit (Deployment::ComponentInterfaceDescription &cid)
+ {
+ //Might want to populate this too once PICML starts supporting it
+ }
+
+
+ void Plan_Generator::Visit (Deployment::PackagedComponentImplementation &pci)
+ {
+ Accept (*this, pci.referencedImplementation);
+
+ size_t plan_impl_len = plan_.implementation.length ();
+ size_t plan_inst_len = plan_.instance.length ();
+
+ //NOTE: order here matters. Need to populate the
+ //MonolithicDeploymentDescription and the
+ //InstanceDeploymentDescription first,
+ //then call the update_configProperty
+ if (plan_impl_len > 0 && plan_inst_len > 0)
+ update_configProperty (pci,
+ plan_.implementation[plan_impl_len - 1],
+ plan_.instance[plan_inst_len - 1]);
+ }
+
+
+ void Plan_Generator::Visit (Deployment::ComponentImplementationDescription &cid)
+ {
+ if (cid.assemblyImpl.length ())
+ Accept (*this, cid.assemblyImpl);
+ else
+ //;//Do nothing - monolithic component deployment not supported
+ Accept (*this, cid.monolithicImpl);
+ }
+
+
+ void Plan_Generator::Visit (Deployment::ComponentAssemblyDescription &cad)
+ {
+ //NOTE: order matters for these calls. We need to populate
+ //the instances before we try to polulate the connections
+
+ //set the last ComponentAssemblyDescription
+ this->last_cad_ = &cad;
+
+ //visit the SubcomponentInstantiationDescription
+ Accept (*this, cad.instance);
+ //visit the connections
+ Accept (*this, cad.connection);
+
+ //reset the last ComponentAssemblyDescription
+ this->last_cad_ = NULL;
+ }
+
+
+ void Plan_Generator::Visit (Deployment::SubcomponentInstantiationDescription &sid)
+ {
+ //visit the ComponentPackageDescription (again)
+ if (sid.basePackage.length ())
+ {
+ size_t inst_len = plan_.instance.length ();
+ plan_.instance.length (inst_len + 1);
+
+ update_configProperty (sid, plan_.instance[inst_len]);
+
+ plan_.instance[inst_len].name = sid.name;
+ size_t impl_len = plan_.implementation.length ();
+ plan_.implementation.length (impl_len + 1);
+
+ ACE_CString mdname (plan_.instance[inst_len].name);
+ mdname += "-mdd";
+ plan_.implementation[impl_len].name = mdname.c_str ();
+
+ plan_.instance[inst_len].implementationRef = impl_len;
+
+ Accept (*this, sid.basePackage);
+ }
+ else
+ ACE_DEBUG ((LM_WARNING,
+ "[Plan_Generator - SubcomponentInstantiationDescription] ",
+ "We currently do NOT support package references, ",
+ "specializedConfigs or imports!\n"));
+ }
+
+
+ void Plan_Generator::Visit (Deployment::MonolithicImplementationDescription &mid)
+ {
+ //NOTE: There are usually 3 NamedImplementationArtifacts per
+ //MonolithicImplementationDescription *_stub, *_svnt & *_exec
+
+ //visit the NamedImplementationArtifacts
+ Accept (*this, mid.primaryArtifact);
+ }
+
+
+ void Plan_Generator::Visit (Deployment::NamedImplementationArtifact &nia)
+ {
+ //increase the artifact length by one
+ size_t arti_len = plan_.artifact.length ();
+ plan_.artifact.length (arti_len + 1);
+ plan_.artifact[arti_len].name = nia.name;
+
+ //increase the artifactRef length by one and
+ //update the reference
+
+ //get the index of the last MonolithicDeploymentDescription
+ size_t last_mdd = plan_.implementation.length () - 1;
+ Deployment::MonolithicDeploymentDescription& mdd = plan_.implementation[last_mdd];
+ size_t ref_len = mdd.artifactRef.length ();
+ mdd.artifactRef.length (ref_len + 1);
+ mdd.artifactRef[ref_len] = arti_len;
+
+ //visit the actual ImplementationArtifactDescriptor
+ Accept (*this, nia.referencedArtifact);
+ }
+
+
+ void Plan_Generator::Visit (Deployment::ImplementationArtifactDescription &iad)
+ {
+
+ size_t last_arti = plan_.artifact.length ();
+ size_t plan_loc_len = plan_.artifact[last_arti - 1].location.length ();
+ size_t num_loc = iad.location.length ();
+ for (size_t i = 0; i < num_loc; ++i)
+ {
+ Deployment::ArtifactDeploymentDescription& add = plan_.artifact[last_arti - 1];
+ add.location.length (plan_loc_len + 1);
+ add.location[plan_loc_len] = iad.location[i];
+ ++plan_loc_len;
+
+ //update execParameter
+ update_execParameter (iad, add);
+ }
+ }
+
+ //!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!
+
+ //ComponentPackageReference descendents
+
+ void Plan_Generator::Visit (Deployment::ComponentPackageReference &cpr)
+ {
+ //not implemented
+ }
+
+ //!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!
+
+ //properties
+
+ void Plan_Generator::Visit (Deployment::AssemblyPropertyMapping &apm)
+ {
+
+ }
+
+
+ void Plan_Generator::Visit (Deployment::Property &property)
+ {
+
+ }
+
+
+ //requirements & capabilities
+
+ void Plan_Generator::Visit (Deployment::Requirement &requirement)
+ {
+
+ }
+
+
+ void Plan_Generator::Visit (Deployment::Capability &capability)
+ {
+
+ }
+
+
+ void Plan_Generator::Visit (Deployment::ImplementationRequirement &ir)
+ {
+
+ }
+
+
+ void Plan_Generator::Visit (Deployment::ImplementationDependency &id)
+ {
+
+ }
+
+ //ports and connections
+
+ void Plan_Generator::Visit (Deployment::AssemblyConnectionDescription &acd)
+ {
+ if (!this->last_cad_)
+ return;
+
+ Deployment::ComponentAssemblyDescription& cad = *(this->last_cad_);
+
+ size_t plan_conn_len = plan_.connection.length ();
+ plan_.connection.length (plan_conn_len + 1);
+ plan_.connection[plan_conn_len].name = acd.name;
+
+ size_t iep_len = acd.internalEndpoint.length ();
+ size_t plan_iep_len =
+ plan_.connection[plan_conn_len].internalEndpoint.length ();
+
+ //cout << "==> " << acd.name << " has " << iep_len << " and "
+ // << acd.externalEndpoint.length () << endl << endl ;
+
+ plan_.connection[plan_conn_len].internalEndpoint.length (plan_iep_len + iep_len);
+
+ for (size_t i = 0; i < iep_len; ++i)
+ {
+ plan_.connection[plan_conn_len]
+ .internalEndpoint[plan_iep_len + i].portName =
+ acd.internalEndpoint[i].portName;
+
+ size_t inst_ref = acd.internalEndpoint[i].instanceRef;
+ const char* inst_name = cad.instance[inst_ref].name;
+ size_t plan_inst_len = plan_.instance.length ();
+
+ for (size_t j = 0; j < plan_inst_len; ++j)
+ {
+ const char* plan_inst_name = plan_.instance[j].name;
+ if (ACE_OS::strcmp (plan_inst_name, inst_name) == 0)
+ {
+ plan_.connection[plan_conn_len]
+ .internalEndpoint[plan_iep_len + i].instanceRef = j;
+ break;
+ }
+ }
+
+ //Now traverse the interface
+
+ //NOTE: move these up and refactor!
+ Deployment::SubcomponentInstantiationDescription& scid =
+ cad.instance[inst_ref];
+ Deployment::PlanSubcomponentPortEndpoint& pspe =
+ plan_.connection[plan_conn_len]
+ .internalEndpoint[plan_iep_len + i];
+
+ size_t pkg_len = scid.basePackage.length ();
+ for (size_t k = 0; k < pkg_len; ++k)
+ {
+ Deployment::ComponentPackageDescription& package = scid.basePackage[k];
+
+ //empty unfortunately
+ Deployment::ComponentInterfaceDescription cid = package.realizes;
+ //cid = package.implementation[0].referencedImplementation.implements;
+
+ size_t port_len = cid.port.length ();
+ for (size_t p = 0; p < port_len; ++p)
+ {
+ const char* cid_pname = cid.port[p].name;
+ const char* pspe_pname = pspe.portName;
+ //cout << "CMP: " << pspe_pname << " <=> " << cid_pname << endl;
+ if (ACE_OS::strcmp (cid_pname, pspe_pname) == 0)
+ {
+ pspe.kind = cid.port[p].kind;
+
+ //cout << "-->" << pspe_pname << " Port kind is "
+ // << pspe.kind << endl;
+
+ goto interface_end;
+ break; // ???
+ }
+ }
+ }
+
+interface_end:
+ //cout << endl;
+ ;
+
+ }
+
+ }
+
+
+ void Plan_Generator::Visit (Deployment::SubcomponentPortEndpoint &spe)
+ {
+
+ }
+
+
+ void Plan_Generator::Visit (Deployment::ComponentExternalPortEndpoint &cepe)
+ {
+
+ }
+
+//several helper functions
+
+ void Plan_Generator::
+ update_execParameter (Deployment::ImplementationArtifactDescription& iad,
+ Deployment::ArtifactDeploymentDescription& add)
+ {
+ //update execParameters
+ size_t num_execP = iad.execParameter.length ();
+ for (size_t j = 0; j < num_execP; ++j)
+ {
+ size_t execP_len = add.execParameter.length ();
+ add.execParameter.length (execP_len + 1);
+ add.execParameter[execP_len] = iad.execParameter[j];
+ ++execP_len;
+ }
+ }
+
+ void Plan_Generator::
+ update_configProperty (Deployment::SubcomponentInstantiationDescription &scid,
+ Deployment::InstanceDeploymentDescription &idd)
+ {
+ size_t scid_plen =
+ scid.configProperty.length ();
+
+ size_t idd_plen = idd.configProperty.length ();
+ idd.configProperty.length (idd_plen + scid_plen);
+
+ for (size_t i = 0; i < scid_plen; ++i)
+ idd.configProperty[idd_plen + i] =
+ scid.configProperty[i];
+
+ }
+
+ void Plan_Generator::
+ update_configProperty (Deployment::PackagedComponentImplementation& pcid,
+ Deployment::MonolithicDeploymentDescription& mid,
+ Deployment::InstanceDeploymentDescription& idd)
+ {
+ bool update;
+ size_t pcid_plen = pcid.referencedImplementation
+ .configProperty.length ();
+
+ size_t mid_eplen = mid.execParameter.length ();
+ mid.execParameter.length (mid_eplen + pcid_plen);
+
+ for (size_t i = 0; i < pcid_plen; ++i)
+ {
+ update = true;
+ mid.execParameter[mid_eplen + i] = pcid.referencedImplementation
+ .configProperty[i];
+
+ const char* pname = pcid.referencedImplementation
+ .configProperty[i].name;
+
+ size_t idd_plen = idd.configProperty.length ();
+
+ for (size_t j = 0; j < idd_plen; ++j)
+ {
+ const char* idd_pname = idd.configProperty[j].name;
+ if (ACE_OS::strcmp (idd_pname, pname) == 0)
+ {
+ update = false;
+ break;
+ }
+ }
+
+ if (update)
+ {
+ idd.configProperty.length (idd_plen + 1);
+ idd.configProperty[idd_plen] =
+ pcid.referencedImplementation.configProperty[i];
+ }
+ }
+ }
+
diff --git a/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator.h b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator.h
new file mode 100644
index 00000000000..3117540082c
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator.h
@@ -0,0 +1,151 @@
+/* -*- C++ -*- */
+
+//========================================================================
+/**
+ * file PlanGenerator.h
+ *
+ * $Id$
+ *
+ * This file contains a number of Visitor classes which are used to
+ * traverse the PackageConfiguration element defined in the
+ * PackagingData.idl
+ *
+ * author Stoyan Paunov <spaunov@isis.vanderbilt.edu>
+ */
+//========================================================================
+
+#ifndef PLAN_GENERATOR_H
+#define PLAN_GENERATOR_H
+
+#include "PCVisitorBase.h" //for the base visitor
+
+#include /**/ "ace/pre.h"
+#include "ace/SString.h" //for the ACE_CString
+
+#include "ciao/DeploymentC.h"
+#include "ciao/Deployment_BaseC.h"
+#include "ciao/Deployment_DataC.h"
+#include "ciao/Packaging_DataC.h"
+
+
+//===========================================================================
+/**
+ * class Plan_Generator
+ *
+ * This class is is the actual implementation for the PackageConfiguration
+ * Visitor. It derives from PCVisitorBase and overloads the functions which
+ * deal with single elements. Sequences are handled in the base class.
+ */
+//===========================================================================
+
+
+class Plan_Generator : public PCVisitorBase
+{
+public:
+
+ //constructor
+ Plan_Generator (Deployment::DeploymentPlan &plan,
+ Deployment::PackageConfiguration &pc);
+
+ ///Entry point to protected Visitor functions
+ void Visit ();
+
+protected:
+ /// A whole slew of overloaded routines for different IDL
+ /// data types part of the PackageConfiguration.
+
+ virtual
+ void Visit (Deployment::PackageConfiguration &pc);
+
+ //!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!
+
+ //ComponentPackageDescription descendents
+ virtual
+ void Visit (Deployment::ComponentPackageDescription &cpd);
+
+ virtual
+ void Visit (Deployment::ComponentInterfaceDescription &cid);
+
+ virtual
+ void Visit (Deployment::PackagedComponentImplementation &pci);
+
+ virtual
+ void Visit (Deployment::ComponentImplementationDescription &cid);
+
+ virtual
+ void Visit (Deployment::ComponentAssemblyDescription &cad);
+
+ virtual
+ void Visit (Deployment::SubcomponentInstantiationDescription &sid);
+
+ virtual
+ void Visit (Deployment::MonolithicImplementationDescription &mid);
+
+ virtual
+ void Visit (Deployment::NamedImplementationArtifact &nia);
+
+ virtual
+ void Visit (Deployment::ImplementationArtifactDescription &iad);
+
+ //!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!
+
+ //ComponentPackageReference descendents
+ virtual
+ void Visit (Deployment::ComponentPackageReference &cpr);
+
+ //!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!
+
+ //properties
+ virtual
+ void Visit (Deployment::AssemblyPropertyMapping &apm);
+
+ virtual
+ void Visit (Deployment::Property &property);
+
+
+ //requirements & capabilities
+ virtual
+ void Visit (Deployment::Requirement &requirement);
+
+ virtual
+ void Visit (Deployment::Capability &capability);
+
+ virtual
+ void Visit (Deployment::ImplementationRequirement &ir);
+
+ virtual
+ void Visit (Deployment::ImplementationDependency &id);
+
+ //ports and connections
+ virtual
+ void Visit (Deployment::AssemblyConnectionDescription &acd);
+
+ virtual
+ void Visit (Deployment::SubcomponentPortEndpoint &spe);
+
+ virtual
+ void Visit (Deployment::ComponentExternalPortEndpoint &cepe);
+
+protected:
+ ///several helper functions
+ void update_execParameter (Deployment::ImplementationArtifactDescription& iad,
+ Deployment::ArtifactDeploymentDescription& add);
+
+ void update_configProperty (Deployment::SubcomponentInstantiationDescription &scid,
+ Deployment::InstanceDeploymentDescription &idd);
+
+ void update_configProperty (Deployment::PackagedComponentImplementation& pcid,
+ Deployment::MonolithicDeploymentDescription& mid,
+ Deployment::InstanceDeploymentDescription& idd);
+
+private:
+
+ Deployment::DeploymentPlan& plan_;
+ Deployment::PackageConfiguration& pc_;
+ Deployment::ComponentAssemblyDescription* last_cad_;
+
+};
+
+#include /**/ "ace/post.h"
+
+#endif /* PLAN_GENERATOR_H */
diff --git a/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator.idl b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator.idl
new file mode 100644
index 00000000000..3dd220b9b8b
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator.idl
@@ -0,0 +1,33 @@
+//PlanGenerator.idl,v 1.1 spaunov Exp
+//Author: Stoyan Paunov
+//$Id$
+
+#ifndef RACE_PLAN_GENERATOR_INPUT_ADAPTER_IDL
+#define RACE_PLAN_GENERATOR_INPUT_ADAPTER_IDL
+
+#include <Components.idl>
+#include "Input_Adapters/Base/Input_Adapter.idl"
+#include "common/RACE_common.idl"
+
+module CIAO
+{
+ module RACE
+ {
+ eventtype Deploy_Input
+ {
+ public string package_name;
+ public Action command;
+ };
+
+ component PlanGenerator : Input_Adapter
+ {
+ consumes Deploy_Input deployment;
+ };
+
+ home PlanGenerator_Home manages PlanGenerator
+ {
+ };
+ };
+};
+
+#endif /* RACE_PLAN_GENERATOR_INPUT_ADAPTER_IDL */
diff --git a/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator.mpc.disable b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator.mpc.disable
new file mode 100644
index 00000000000..fdb014ef9cc
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator.mpc.disable
@@ -0,0 +1,118 @@
+// generate_component_mpc.pl
+//Author: Stoyan Paunov
+//PlanGenerator.mpc, spaunov
+//$Id$
+
+project(PlanGenerator_stub): ciao_deployment_stub, ciao_race_component {
+ after += Input_Adapter_stub
+ sharedname = PlanGenerator_stub
+ idlflags += -Sc \
+ -Wb,stub_export_macro=PLANGENERATOR_STUB_Export \
+ -Wb,stub_export_include=PlanGenerator_stub_export.h \
+ -Wb,skel_export_macro=PLANGENERATOR_SVNT_Export \
+ -Wb,skel_export_include=PlanGenerator_svnt_export.h
+ dynamicflags = PLANGENERATOR_STUB_BUILD_DLL
+ libs += Input_Adapter_stub \
+ Plan_Analyzer_Interface_stub
+
+ IDL_Files {
+ PlanGenerator.idl
+ }
+
+ Source_Files {
+ PlanGeneratorC.cpp
+ }
+
+ Header_Files {
+ PlanGeneratorC.h
+ }
+
+ Inline_Files {
+ PlanGeneratorC.inl
+ }
+}
+
+project(PlanGenerator_svnt) : ciao_servant_dnc, ciao_race_component {
+ after += PlanGenerator_stub \
+ Input_Adapter_svnt
+ sharedname = PlanGenerator_svnt
+ libs += PlanGenerator_stub \
+ Input_Adapter_stub \
+ Input_Adapter_svnt \
+ Plan_Analyzer_Interface_stub
+
+ idlflags += -Sc \
+ -Wb,export_macro=PLANGENERATOR_SVNT_Export \
+ -Wb,export_include=PlanGenerator_svnt_export.h
+
+ dynamicflags = PLANGENERATOR_SVNT_BUILD_DLL
+
+ CIDL_Files {
+ PlanGenerator.cidl
+ }
+
+ IDL_Files {
+ PlanGeneratorE.idl
+ }
+
+ Source_Files {
+ PlanGeneratorEC.cpp
+ PlanGeneratorS.cpp
+ PlanGenerator_svnt.cpp
+ }
+
+ Header_Files {
+ PlanGeneratorEC.h
+ PlanGeneratorS.h
+ PlanGenerator_svnt.h
+ }
+
+ Inline_Files {
+ PlanGeneratorEC.inl
+ PlanGeneratorS.inl
+ PlanGenerator_svnt.inl
+ }
+}
+
+
+project(PlanGenerator_exec) : ciao_component_dnc, ciao_config_handlers, ciao_race_component {
+ after += PlanGenerator_svnt XSC_Config_Handlers
+ sharedname = PlanGenerator_exec
+ libs += PlanGenerator_stub \
+ PlanGenerator_svnt \
+ Input_Adapter_stub \
+ Input_Adapter_svnt \
+ Plan_Analyzer_Interface_stub \
+
+ idlflags += -Sc \
+ -Wb,export_macro=PLANGENERATOR_EXEC_Export \
+ -Wb,export_include=PlanGenerator_exec_export.h
+ dynamicflags = PLANGENERATOR_EXEC_BUILD_DLL
+
+ requires += RepositoryManager
+ after += RepositoryManager
+ includes += $(CIAO_ROOT)/DAnCE/RepositoryManager
+
+ IDL_Files {
+
+ }
+
+ Source_Files {
+ PlanGenerator_exec.cpp
+ PCVisitorBase.cpp
+ PlanGenerator.cpp
+ $(CIAO_ROOT)/DAnCE/RepositoryManager/RepositoryManagerDaemonC.cpp
+ }
+}
+
+project(PlanGenerator_Injector) : ciao_component_dnc, ciao_race_component, taoexe {
+ exename = injector
+
+ libs += PlanGenerator_stub
+
+ IDL_Files {
+ }
+ Source_Files {
+ Injector.cpp
+ }
+}
diff --git a/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator_deployment.dat b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator_deployment.dat
new file mode 100644
index 00000000000..3621981b2c8
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator_deployment.dat
@@ -0,0 +1 @@
+PlanGenerator corbaloc:iiop:localhost:50000/NodeManager
diff --git a/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator_exec.cpp b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator_exec.cpp
new file mode 100644
index 00000000000..dd78aafb8b5
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator_exec.cpp
@@ -0,0 +1,265 @@
+// $Id$
+// Author: Stoyan Paunov
+
+#include "PlanGenerator_exec.h"
+#include "ciao/CIAO_common.h"
+#include "Config_Handlers/XML_File_Intf.h"
+#include "Config_Handlers/Package_Handlers/PCD_Handler.h"
+#include "Config_Handlers/Common.h"
+#include "Config_Handlers/DnC_Dump.h"
+
+#include "DAnCE/RepositoryManager/RepositoryManagerDaemonC.h"
+#include "PlanGenerator.h"
+
+#include <iostream>
+using namespace std;
+
+
+namespace CIAO
+{
+ namespace RACE
+ {
+ namespace CIDL_PlanGenerator_Impl
+ {
+ //==================================================================
+ // Component Executor Implementation Class:
+ // PlanGenerator_exec_i
+ //==================================================================
+
+ PlanGenerator_exec_i::PlanGenerator_exec_i (void)
+ {
+ }
+
+ PlanGenerator_exec_i::~PlanGenerator_exec_i (void)
+ {
+ }
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ void
+ PlanGenerator_exec_i::push_deployment (
+ ::CIAO::RACE::Deploy_Input * ev)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ try
+ {
+
+ //Get the IOR of the RepoMan from the naming service
+
+ //Obtain a ref to the orb
+ CORBA::ORB_ptr orb = this->context_->_ciao_the_Container ()->the_ORB ();
+
+ //form the path to the RepoMan IOR file
+ ACE_CString RepoMan_ior = ("file://");
+ RepoMan_ior += ACE_OS::getenv ("CIAO_ROOT");
+ RepoMan_ior += "/DAnCE/RepositoryManager/RepositoryManagerDeamon.ior";
+
+ cout << "RepoMan ior file: " << RepoMan_ior.c_str () << endl;
+
+ CORBA::Object_var obj =
+ orb->string_to_object (RepoMan_ior.c_str ());
+
+ CIAO::RepositoryManagerDaemon_var rm =
+ CIAO::RepositoryManagerDaemon::_narrow (obj.in ());
+
+ if (CORBA::is_nil (rm.in ()))
+ {
+ ACE_ERROR ((LM_ERROR,
+ "Unable to acquire RepositoryManagerDaemon's objref\n"));
+
+ throw CORBA::INTERNAL ();
+ }
+
+ //now obtian the corresponding PackageConfiguration from
+ //the RepositoryManager
+
+ Deployment::PackageConfiguration* rmpc;
+
+ try
+ {
+ //retrieve the curresponding PackageConfiguration
+ //from the RepoMan
+ rmpc = rm->findPackageByName (ev->package_name ());
+
+ ACE_DEBUG ((LM_INFO,
+ "The package was found!\nUUID: %s\n",
+ rmpc->UUID));
+ }
+ catch (Deployment::NoSuchName &)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "Error! Package not found! Location update failed!\n"));
+
+ throw CORBA::INTERNAL ();
+
+ }
+ catch (CORBA::Exception &)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "Error! General exception! Location update failed!\n"));
+
+ throw CORBA::INTERNAL ();
+ }
+
+ //now create the plan
+
+ Deployment::DeploymentPlan* plan = 0;
+ ACE_NEW_THROW_EX (plan,
+ Deployment::DeploymentPlan (),
+ CORBA::INTERNAL ());
+
+ Plan_Generator pgen (*plan, *rmpc);
+
+ //start the generation
+ pgen.Visit ();
+
+ //So now what?
+ ::Deployment::DnC_Dump::dump (*plan);
+
+ //do not call the plan analyzer just yet
+ return;
+
+ //creat an action sequence and populate it
+ ::CIAO::RACE::Plan_Actions plan_action_seq;
+
+ /// Create a Plan_Action_seq structure of length 1.
+ plan_action_seq.length (1);
+
+ /// Now populate the Plan_Action_seq structure.
+ plan_action_seq [0].command = ev->command ();
+ plan_action_seq [0].plan = *plan;
+ plan_action_seq [0].package = *rmpc;
+
+ /// Now invoke the plan_analyzer.
+ this->context_->get_connection_ingress ()
+ ->analyze_plan (plan_action_seq);
+ }
+ catch (...)
+ {
+ ACE_ERROR ((LM_ERROR, "Exception caught in push_deployment\n"));
+ }
+ }
+
+ // Operations from Components::SessionComponent
+
+ void
+ PlanGenerator_exec_i::set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ this->context_ =
+ PlanGenerator_Context::_narrow (
+ ctx);
+
+ if (this->context_ == 0)
+ {
+ throw CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ PlanGenerator_exec_i::ciao_preactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ PlanGenerator_exec_i::ciao_postactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ PlanGenerator_exec_i::ccm_activate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ PlanGenerator_exec_i::ccm_passivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ PlanGenerator_exec_i::ccm_remove ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ //==================================================================
+ // Home Executor Implementation Class: PlanGenerator_Home_exec_i
+ //==================================================================
+
+ PlanGenerator_Home_exec_i::PlanGenerator_Home_exec_i (void)
+ {
+ }
+
+ PlanGenerator_Home_exec_i::~PlanGenerator_Home_exec_i (void)
+ {
+ }
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ ::Components::EnterpriseComponent_ptr
+ PlanGenerator_Home_exec_i::create ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_THROW_EX (
+ retval,
+ PlanGenerator_exec_i,
+ CORBA::NO_MEMORY ());
+
+ return retval;
+ }
+
+ extern "C" PLANGENERATOR_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_CIAO_RACE_PlanGenerator_Home_Impl (void)
+ {
+ ::Components::HomeExecutorBase_ptr retval =
+ ::Components::HomeExecutorBase::_nil ();
+
+ ACE_NEW_RETURN (
+ retval,
+ PlanGenerator_Home_exec_i,
+ ::Components::HomeExecutorBase::_nil ());
+
+ return retval;
+ }
+ }
+ }
+}
diff --git a/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator_exec.h b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator_exec.h
new file mode 100644
index 00000000000..76fd200c58b
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator_exec.h
@@ -0,0 +1,121 @@
+// $Id$
+//Author: Stoyan Paunov
+
+
+#ifndef CIAO_PLANGENERATOR_EXEC_H
+#define CIAO_PLANGENERATOR_EXEC_H
+
+#include /**/ "ace/pre.h"
+
+#include "PlanGenerator_svnt.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "PlanGenerator_exec_export.h"
+#include "tao/LocalObject.h"
+
+namespace CIAO
+{
+ namespace RACE
+ {
+ namespace CIDL_PlanGenerator_Impl
+ {
+ class PLANGENERATOR_EXEC_Export PlanGenerator_exec_i
+ : public virtual PlanGenerator_Exec,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ PlanGenerator_exec_i (void);
+ virtual ~PlanGenerator_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ virtual void
+ push_deployment (
+ ::CIAO::RACE::Deploy_Input *ev)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Operations from Components::SessionComponent
+
+ virtual void
+ set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ciao_preactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ciao_postactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ccm_activate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ccm_passivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ccm_remove ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ protected:
+ PlanGenerator_Context *context_;
+ };
+
+ class PLANGENERATOR_EXEC_Export PlanGenerator_Home_exec_i
+ : public virtual PlanGenerator_Home_Exec,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ PlanGenerator_Home_exec_i (void);
+ virtual ~PlanGenerator_Home_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+ };
+
+ extern "C" PLANGENERATOR_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_CIAO_RACE_PlanGenerator_Home_Impl (void);
+ }
+ }
+}
+
+#include /**/ "ace/post.h"
+
+#endif /* CIAO_PLANGENERATOR_EXEC_H */
+
diff --git a/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator_exec_export.h b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator_exec_export.h
new file mode 100644
index 00000000000..b4bb3c8e00d
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator_exec_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl PLANGENERATOR_EXEC
+// ------------------------------
+#ifndef PLANGENERATOR_EXEC_EXPORT_H
+#define PLANGENERATOR_EXEC_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (PLANGENERATOR_EXEC_HAS_DLL)
+# define PLANGENERATOR_EXEC_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && PLANGENERATOR_EXEC_HAS_DLL */
+
+#if !defined (PLANGENERATOR_EXEC_HAS_DLL)
+# define PLANGENERATOR_EXEC_HAS_DLL 1
+#endif /* ! PLANGENERATOR_EXEC_HAS_DLL */
+
+#if defined (PLANGENERATOR_EXEC_HAS_DLL) && (PLANGENERATOR_EXEC_HAS_DLL == 1)
+# if defined (PLANGENERATOR_EXEC_BUILD_DLL)
+# define PLANGENERATOR_EXEC_Export ACE_Proper_Export_Flag
+# define PLANGENERATOR_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define PLANGENERATOR_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* PLANGENERATOR_EXEC_BUILD_DLL */
+# define PLANGENERATOR_EXEC_Export ACE_Proper_Import_Flag
+# define PLANGENERATOR_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define PLANGENERATOR_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* PLANGENERATOR_EXEC_BUILD_DLL */
+#else /* PLANGENERATOR_EXEC_HAS_DLL == 1 */
+# define PLANGENERATOR_EXEC_Export
+# define PLANGENERATOR_EXEC_SINGLETON_DECLARATION(T)
+# define PLANGENERATOR_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* PLANGENERATOR_EXEC_HAS_DLL == 1 */
+
+// Set PLANGENERATOR_EXEC_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (PLANGENERATOR_EXEC_NTRACE)
+# if (ACE_NTRACE == 1)
+# define PLANGENERATOR_EXEC_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define PLANGENERATOR_EXEC_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !PLANGENERATOR_EXEC_NTRACE */
+
+#if (PLANGENERATOR_EXEC_NTRACE == 1)
+# define PLANGENERATOR_EXEC_TRACE(X)
+#else /* (PLANGENERATOR_EXEC_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define PLANGENERATOR_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (PLANGENERATOR_EXEC_NTRACE == 1) */
+
+#endif /* PLANGENERATOR_EXEC_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator_stub_export.h b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator_stub_export.h
new file mode 100644
index 00000000000..2a3f42d0fd4
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator_stub_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl PLANGENERATOR_STUB
+// ------------------------------
+#ifndef PLANGENERATOR_STUB_EXPORT_H
+#define PLANGENERATOR_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (PLANGENERATOR_STUB_HAS_DLL)
+# define PLANGENERATOR_STUB_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && PLANGENERATOR_STUB_HAS_DLL */
+
+#if !defined (PLANGENERATOR_STUB_HAS_DLL)
+# define PLANGENERATOR_STUB_HAS_DLL 1
+#endif /* ! PLANGENERATOR_STUB_HAS_DLL */
+
+#if defined (PLANGENERATOR_STUB_HAS_DLL) && (PLANGENERATOR_STUB_HAS_DLL == 1)
+# if defined (PLANGENERATOR_STUB_BUILD_DLL)
+# define PLANGENERATOR_STUB_Export ACE_Proper_Export_Flag
+# define PLANGENERATOR_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define PLANGENERATOR_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* PLANGENERATOR_STUB_BUILD_DLL */
+# define PLANGENERATOR_STUB_Export ACE_Proper_Import_Flag
+# define PLANGENERATOR_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define PLANGENERATOR_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* PLANGENERATOR_STUB_BUILD_DLL */
+#else /* PLANGENERATOR_STUB_HAS_DLL == 1 */
+# define PLANGENERATOR_STUB_Export
+# define PLANGENERATOR_STUB_SINGLETON_DECLARATION(T)
+# define PLANGENERATOR_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* PLANGENERATOR_STUB_HAS_DLL == 1 */
+
+// Set PLANGENERATOR_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (PLANGENERATOR_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define PLANGENERATOR_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define PLANGENERATOR_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !PLANGENERATOR_STUB_NTRACE */
+
+#if (PLANGENERATOR_STUB_NTRACE == 1)
+# define PLANGENERATOR_STUB_TRACE(X)
+#else /* (PLANGENERATOR_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define PLANGENERATOR_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (PLANGENERATOR_STUB_NTRACE == 1) */
+
+#endif /* PLANGENERATOR_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator_svnt_export.h b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator_svnt_export.h
new file mode 100644
index 00000000000..212dd57a8e9
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/PlanGenerator_svnt_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl PLANGENERATOR_SVNT
+// ------------------------------
+#ifndef PLANGENERATOR_SVNT_EXPORT_H
+#define PLANGENERATOR_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (PLANGENERATOR_SVNT_HAS_DLL)
+# define PLANGENERATOR_SVNT_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && PLANGENERATOR_SVNT_HAS_DLL */
+
+#if !defined (PLANGENERATOR_SVNT_HAS_DLL)
+# define PLANGENERATOR_SVNT_HAS_DLL 1
+#endif /* ! PLANGENERATOR_SVNT_HAS_DLL */
+
+#if defined (PLANGENERATOR_SVNT_HAS_DLL) && (PLANGENERATOR_SVNT_HAS_DLL == 1)
+# if defined (PLANGENERATOR_SVNT_BUILD_DLL)
+# define PLANGENERATOR_SVNT_Export ACE_Proper_Export_Flag
+# define PLANGENERATOR_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define PLANGENERATOR_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* PLANGENERATOR_SVNT_BUILD_DLL */
+# define PLANGENERATOR_SVNT_Export ACE_Proper_Import_Flag
+# define PLANGENERATOR_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define PLANGENERATOR_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* PLANGENERATOR_SVNT_BUILD_DLL */
+#else /* PLANGENERATOR_SVNT_HAS_DLL == 1 */
+# define PLANGENERATOR_SVNT_Export
+# define PLANGENERATOR_SVNT_SINGLETON_DECLARATION(T)
+# define PLANGENERATOR_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* PLANGENERATOR_SVNT_HAS_DLL == 1 */
+
+// Set PLANGENERATOR_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (PLANGENERATOR_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define PLANGENERATOR_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define PLANGENERATOR_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !PLANGENERATOR_SVNT_NTRACE */
+
+#if (PLANGENERATOR_SVNT_NTRACE == 1)
+# define PLANGENERATOR_SVNT_TRACE(X)
+#else /* (PLANGENERATOR_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define PLANGENERATOR_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (PLANGENERATOR_SVNT_NTRACE == 1) */
+
+#endif /* PLANGENERATOR_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Input_Adapters/PlanGenerator/README.txt b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/README.txt
new file mode 100644
index 00000000000..8cbc5665f85
--- /dev/null
+++ b/modules/CIAO/RACE/Input_Adapters/PlanGenerator/README.txt
@@ -0,0 +1,15 @@
+
+
+//Author: Stoyan Paunov
+
+This is the README for the PlanGenerator Input Adapter for RACE. This input
+adapter has similar functionality to the Interactive Input Adapter, however
+instead of parsing the descriptors on disk, it takes the provided by the
+injector package name, retrieves the corresponding PackageConfiguration, and
+finally build a DeploymentPlan in memory. Due to the fact that the XML parsing
+is avoided, the operation takes a lot less time than its counterpart in the
+Interactive Input Adapter. An added benefit is that the implementation arti-
+facts in the constructed DeploymentPlan to point to the HTTP server collocated
+with the RepositoryManager.
+
+
diff --git a/modules/CIAO/RACE/Output_Adapters/Base/Output_Adapter.idl b/modules/CIAO/RACE/Output_Adapters/Base/Output_Adapter.idl
new file mode 100644
index 00000000000..61235b33959
--- /dev/null
+++ b/modules/CIAO/RACE/Output_Adapters/Base/Output_Adapter.idl
@@ -0,0 +1,19 @@
+//$Id$
+#ifndef RACE_OUTPUT_ADAPTER_IDL
+#define RACE_OUTPUT_ADAPTER_IDL
+
+#include <Components.idl>
+#include "../Interface/PlanEgress.idl"
+
+module CIAO
+{
+ module RACE
+ {
+ component Output_Adapter
+ {
+ provides PlanEgress plan_egress;
+ };
+ };
+};
+
+#endif /* RACE_OUTPUT_ADAPTER_IDL */
diff --git a/modules/CIAO/RACE/Output_Adapters/Base/Output_Adapter.mpc b/modules/CIAO/RACE/Output_Adapters/Base/Output_Adapter.mpc
new file mode 100644
index 00000000000..32368cb1845
--- /dev/null
+++ b/modules/CIAO/RACE/Output_Adapters/Base/Output_Adapter.mpc
@@ -0,0 +1,60 @@
+// generate_component_mpc.pl,v 1.9 2003/12/22 21:56:27 boris Exp
+//$Id$
+// This file is generated with "generate_component_mpc.pl -n Planner"
+
+project(Output_Adapter_stub): ciao_deployment_stub {
+
+ after += Output_Adapter_Interface_stub
+ sharedname = Output_Adapter_stub
+ idlflags += -Wb,stub_export_macro=OUTPUT_ADAPTER_STUB_Export \
+ -Wb,stub_export_include=Output_Adapter_stub_export.h \
+ -Wb,skel_export_macro=OUTPUT_ADAPTER_SVNT_Export \
+ -Wb,skel_export_include=Output_Adapter_svnt_export.h
+ dynamicflags = OUTPUT_ADAPTER_STUB_BUILD_DLL
+ libs += Output_Adapter_Interface_stub
+
+ IDL_Files {
+ Output_Adapter.idl
+ }
+
+ Source_Files {
+ Output_AdapterC.cpp
+ }
+
+ Header_Files {
+ Output_AdapterC.h
+ }
+
+ Inline_Files {
+ Output_AdapterC.inl
+ }
+}
+
+project(Output_Adapter_svnt) : ciao_servant_dnc {
+
+ after += Output_Adapter_stub Output_Adapter_Interface_svnt
+ sharedname = Output_Adapter_svnt
+ libs += Output_Adapter_stub Output_Adapter_Interface_svnt Output_Adapter_Interface_stub
+
+ idlflags += -Wb,stub_export_macro=OUTPUT_ADAPTER_STUB_Export \
+ -Wb,stub_export_include=Output_Adapter_stub_export.h \
+ -Wb,skel_export_macro=OUTPUT_ADAPTER_SVNT_Export \
+ -Wb,skel_export_include=Output_Adapter_svnt_export.h
+ dynamicflags = OUTPUT_ADAPTER_SVNT_BUILD_DLL
+
+ IDL_Files {
+ Output_Adapter.idl
+ }
+
+ Source_Files {
+ Output_AdapterS.cpp
+ }
+
+ Header_Files {
+ Output_AdapterS.h
+ }
+
+ Inline_Files {
+ Output_AdapterS.inl
+ }
+}
diff --git a/modules/CIAO/RACE/Output_Adapters/Base/Output_Adapter_stub_export.h b/modules/CIAO/RACE/Output_Adapters/Base/Output_Adapter_stub_export.h
new file mode 100644
index 00000000000..2956242afb3
--- /dev/null
+++ b/modules/CIAO/RACE/Output_Adapters/Base/Output_Adapter_stub_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl OUTPUT_ADAPTER_STUB
+// ------------------------------
+#ifndef OUTPUT_ADAPTER_STUB_EXPORT_H
+#define OUTPUT_ADAPTER_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (OUTPUT_ADAPTER_STUB_HAS_DLL)
+# define OUTPUT_ADAPTER_STUB_HAS_DLL 1
+#endif /* ! OUTPUT_ADAPTER_STUB_HAS_DLL */
+
+#if defined (OUTPUT_ADAPTER_STUB_HAS_DLL) && (OUTPUT_ADAPTER_STUB_HAS_DLL == 1)
+# if defined (OUTPUT_ADAPTER_STUB_BUILD_DLL)
+# define OUTPUT_ADAPTER_STUB_Export ACE_Proper_Export_Flag
+# define OUTPUT_ADAPTER_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define OUTPUT_ADAPTER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* OUTPUT_ADAPTER_STUB_BUILD_DLL */
+# define OUTPUT_ADAPTER_STUB_Export ACE_Proper_Import_Flag
+# define OUTPUT_ADAPTER_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define OUTPUT_ADAPTER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* OUTPUT_ADAPTER_STUB_BUILD_DLL */
+#else /* OUTPUT_ADAPTER_STUB_HAS_DLL == 1 */
+# define OUTPUT_ADAPTER_STUB_Export
+# define OUTPUT_ADAPTER_STUB_SINGLETON_DECLARATION(T)
+# define OUTPUT_ADAPTER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* OUTPUT_ADAPTER_STUB_HAS_DLL == 1 */
+
+// Set OUTPUT_ADAPTER_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (OUTPUT_ADAPTER_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define OUTPUT_ADAPTER_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define OUTPUT_ADAPTER_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !OUTPUT_ADAPTER_STUB_NTRACE */
+
+#if (OUTPUT_ADAPTER_STUB_NTRACE == 1)
+# define OUTPUT_ADAPTER_STUB_TRACE(X)
+#else /* (OUTPUT_ADAPTER_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define OUTPUT_ADAPTER_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (OUTPUT_ADAPTER_STUB_NTRACE == 1) */
+
+#endif /* OUTPUT_ADAPTER_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Output_Adapters/Base/Output_Adapter_svnt_export.h b/modules/CIAO/RACE/Output_Adapters/Base/Output_Adapter_svnt_export.h
new file mode 100644
index 00000000000..d64111d83d2
--- /dev/null
+++ b/modules/CIAO/RACE/Output_Adapters/Base/Output_Adapter_svnt_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl OUTPUT_ADAPTER_SVNT
+// ------------------------------
+#ifndef OUTPUT_ADAPTER_SVNT_EXPORT_H
+#define OUTPUT_ADAPTER_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (OUTPUT_ADAPTER_SVNT_HAS_DLL)
+# define OUTPUT_ADAPTER_SVNT_HAS_DLL 1
+#endif /* ! OUTPUT_ADAPTER_SVNT_HAS_DLL */
+
+#if defined (OUTPUT_ADAPTER_SVNT_HAS_DLL) && (OUTPUT_ADAPTER_SVNT_HAS_DLL == 1)
+# if defined (OUTPUT_ADAPTER_SVNT_BUILD_DLL)
+# define OUTPUT_ADAPTER_SVNT_Export ACE_Proper_Export_Flag
+# define OUTPUT_ADAPTER_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define OUTPUT_ADAPTER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* OUTPUT_ADAPTER_SVNT_BUILD_DLL */
+# define OUTPUT_ADAPTER_SVNT_Export ACE_Proper_Import_Flag
+# define OUTPUT_ADAPTER_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define OUTPUT_ADAPTER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* OUTPUT_ADAPTER_SVNT_BUILD_DLL */
+#else /* OUTPUT_ADAPTER_SVNT_HAS_DLL == 1 */
+# define OUTPUT_ADAPTER_SVNT_Export
+# define OUTPUT_ADAPTER_SVNT_SINGLETON_DECLARATION(T)
+# define OUTPUT_ADAPTER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* OUTPUT_ADAPTER_SVNT_HAS_DLL == 1 */
+
+// Set OUTPUT_ADAPTER_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (OUTPUT_ADAPTER_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define OUTPUT_ADAPTER_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define OUTPUT_ADAPTER_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !OUTPUT_ADAPTER_SVNT_NTRACE */
+
+#if (OUTPUT_ADAPTER_SVNT_NTRACE == 1)
+# define OUTPUT_ADAPTER_SVNT_TRACE(X)
+#else /* (OUTPUT_ADAPTER_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define OUTPUT_ADAPTER_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (OUTPUT_ADAPTER_SVNT_NTRACE == 1) */
+
+#endif /* OUTPUT_ADAPTER_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Output_Adapters/Component/Output_Manager.idl b/modules/CIAO/RACE/Output_Adapters/Component/Output_Manager.idl
new file mode 100644
index 00000000000..6f0199494f5
--- /dev/null
+++ b/modules/CIAO/RACE/Output_Adapters/Component/Output_Manager.idl
@@ -0,0 +1,18 @@
+//$Id$
+#ifndef RACE_OUTPUT_MANAGER_IDL
+#define RACE_OUTPUT_MANAGER_IDL
+
+#include <Components.idl>
+
+module CIAO
+{
+ module RACE
+ {
+ component Output_Manager
+ {
+ provides PlanEgress output;
+ uses multiple PlanEgress adapters;
+ };
+
+ };
+};
diff --git a/modules/CIAO/RACE/Output_Adapters/Interface/Output_Adapter_Interface.mpc b/modules/CIAO/RACE/Output_Adapters/Interface/Output_Adapter_Interface.mpc
new file mode 100644
index 00000000000..26d14b54196
--- /dev/null
+++ b/modules/CIAO/RACE/Output_Adapters/Interface/Output_Adapter_Interface.mpc
@@ -0,0 +1,58 @@
+// generate_component_mpc.pl,v 1.9 2003/12/22 21:56:27 boris Exp
+//$Id$
+// This file is generated with "generate_component_mpc.pl -n Output_Adapter_Interface"
+
+project(Output_Adapter_Interface_stub): ciao_deployment_stub {
+
+ sharedname = Output_Adapter_Interface_stub
+ idlflags += -Wb,stub_export_macro=OUTPUT_ADAPTER_INTERFACE_STUB_Export \
+ -Wb,stub_export_include=Output_Adapter_Interface_stub_export.h \
+ -Wb,skel_export_macro=OUTPUT_ADAPTER_INTERFACE_SVNT_Export \
+ -Wb,skel_export_include=Output_Adapter_Interface_svnt_export.h
+ dynamicflags = OUTPUT_ADAPTER_INTERFACE_STUB_BUILD_DLL
+
+ IDL_Files {
+ PlanEgress.idl
+ }
+
+ Source_Files {
+ PlanEgressC.cpp
+ }
+
+ Header_Files {
+ PlanEgressC.h
+ }
+
+ Inline_Files {
+ PlanEgressC.inl
+ }
+}
+
+project(Output_Adapter_Interface_svnt) : ciao_servant_dnc {
+
+ after += Output_Adapter_Interface_stub
+ sharedname = Output_Adapter_Interface_svnt
+ libs += Output_Adapter_Interface_stub
+
+ idlflags += -Wb,stub_export_macro=OUTPUT_ADAPTER_INTERFACE_STUB_Export \
+ -Wb,stub_export_include=Output_Adapter_Interface_stub_export.h \
+ -Wb,skel_export_macro=OUTPUT_ADAPTER_INTERFACE_SVNT_Export \
+ -Wb,skel_export_include=Output_Adapter_Interface_svnt_export.h
+ dynamicflags = OUTPUT_ADAPTER_INTERFACE_SVNT_BUILD_DLL
+
+ IDL_Files {
+ PlanEgress.idl
+ }
+
+ Source_Files {
+ PlanEgressS.cpp
+ }
+
+ Header_Files {
+ PlanEgressS.h
+ }
+
+ Inline_Files {
+ PlanEgressS.inl
+ }
+}
diff --git a/modules/CIAO/RACE/Output_Adapters/Interface/Output_Adapter_Interface_stub_export.h b/modules/CIAO/RACE/Output_Adapters/Interface/Output_Adapter_Interface_stub_export.h
new file mode 100644
index 00000000000..3a36a07de87
--- /dev/null
+++ b/modules/CIAO/RACE/Output_Adapters/Interface/Output_Adapter_Interface_stub_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl OUTPUT_ADAPTER_INTERFACE_STUB
+// ------------------------------
+#ifndef OUTPUT_ADAPTER_INTERFACE_STUB_EXPORT_H
+#define OUTPUT_ADAPTER_INTERFACE_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (OUTPUT_ADAPTER_INTERFACE_STUB_HAS_DLL)
+# define OUTPUT_ADAPTER_INTERFACE_STUB_HAS_DLL 1
+#endif /* ! OUTPUT_ADAPTER_INTERFACE_STUB_HAS_DLL */
+
+#if defined (OUTPUT_ADAPTER_INTERFACE_STUB_HAS_DLL) && (OUTPUT_ADAPTER_INTERFACE_STUB_HAS_DLL == 1)
+# if defined (OUTPUT_ADAPTER_INTERFACE_STUB_BUILD_DLL)
+# define OUTPUT_ADAPTER_INTERFACE_STUB_Export ACE_Proper_Export_Flag
+# define OUTPUT_ADAPTER_INTERFACE_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define OUTPUT_ADAPTER_INTERFACE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* OUTPUT_ADAPTER_INTERFACE_STUB_BUILD_DLL */
+# define OUTPUT_ADAPTER_INTERFACE_STUB_Export ACE_Proper_Import_Flag
+# define OUTPUT_ADAPTER_INTERFACE_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define OUTPUT_ADAPTER_INTERFACE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* OUTPUT_ADAPTER_INTERFACE_STUB_BUILD_DLL */
+#else /* OUTPUT_ADAPTER_INTERFACE_STUB_HAS_DLL == 1 */
+# define OUTPUT_ADAPTER_INTERFACE_STUB_Export
+# define OUTPUT_ADAPTER_INTERFACE_STUB_SINGLETON_DECLARATION(T)
+# define OUTPUT_ADAPTER_INTERFACE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* OUTPUT_ADAPTER_INTERFACE_STUB_HAS_DLL == 1 */
+
+// Set OUTPUT_ADAPTER_INTERFACE_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (OUTPUT_ADAPTER_INTERFACE_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define OUTPUT_ADAPTER_INTERFACE_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define OUTPUT_ADAPTER_INTERFACE_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !OUTPUT_ADAPTER_INTERFACE_STUB_NTRACE */
+
+#if (OUTPUT_ADAPTER_INTERFACE_STUB_NTRACE == 1)
+# define OUTPUT_ADAPTER_INTERFACE_STUB_TRACE(X)
+#else /* (OUTPUT_ADAPTER_INTERFACE_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define OUTPUT_ADAPTER_INTERFACE_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (OUTPUT_ADAPTER_INTERFACE_STUB_NTRACE == 1) */
+
+#endif /* OUTPUT_ADAPTER_INTERFACE_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Output_Adapters/Interface/Output_Adapter_Interface_svnt_export.h b/modules/CIAO/RACE/Output_Adapters/Interface/Output_Adapter_Interface_svnt_export.h
new file mode 100644
index 00000000000..f180492dceb
--- /dev/null
+++ b/modules/CIAO/RACE/Output_Adapters/Interface/Output_Adapter_Interface_svnt_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl OUTPUT_ADAPTER_INTERFACE_SVNT
+// ------------------------------
+#ifndef OUTPUT_ADAPTER_INTERFACE_SVNT_EXPORT_H
+#define OUTPUT_ADAPTER_INTERFACE_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (OUTPUT_ADAPTER_INTERFACE_SVNT_HAS_DLL)
+# define OUTPUT_ADAPTER_INTERFACE_SVNT_HAS_DLL 1
+#endif /* ! OUTPUT_ADAPTER_INTERFACE_SVNT_HAS_DLL */
+
+#if defined (OUTPUT_ADAPTER_INTERFACE_SVNT_HAS_DLL) && (OUTPUT_ADAPTER_INTERFACE_SVNT_HAS_DLL == 1)
+# if defined (OUTPUT_ADAPTER_INTERFACE_SVNT_BUILD_DLL)
+# define OUTPUT_ADAPTER_INTERFACE_SVNT_Export ACE_Proper_Export_Flag
+# define OUTPUT_ADAPTER_INTERFACE_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define OUTPUT_ADAPTER_INTERFACE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* OUTPUT_ADAPTER_INTERFACE_SVNT_BUILD_DLL */
+# define OUTPUT_ADAPTER_INTERFACE_SVNT_Export ACE_Proper_Import_Flag
+# define OUTPUT_ADAPTER_INTERFACE_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define OUTPUT_ADAPTER_INTERFACE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* OUTPUT_ADAPTER_INTERFACE_SVNT_BUILD_DLL */
+#else /* OUTPUT_ADAPTER_INTERFACE_SVNT_HAS_DLL == 1 */
+# define OUTPUT_ADAPTER_INTERFACE_SVNT_Export
+# define OUTPUT_ADAPTER_INTERFACE_SVNT_SINGLETON_DECLARATION(T)
+# define OUTPUT_ADAPTER_INTERFACE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* OUTPUT_ADAPTER_INTERFACE_SVNT_HAS_DLL == 1 */
+
+// Set OUTPUT_ADAPTER_INTERFACE_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (OUTPUT_ADAPTER_INTERFACE_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define OUTPUT_ADAPTER_INTERFACE_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define OUTPUT_ADAPTER_INTERFACE_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !OUTPUT_ADAPTER_INTERFACE_SVNT_NTRACE */
+
+#if (OUTPUT_ADAPTER_INTERFACE_SVNT_NTRACE == 1)
+# define OUTPUT_ADAPTER_INTERFACE_SVNT_TRACE(X)
+#else /* (OUTPUT_ADAPTER_INTERFACE_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define OUTPUT_ADAPTER_INTERFACE_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (OUTPUT_ADAPTER_INTERFACE_SVNT_NTRACE == 1) */
+
+#endif /* OUTPUT_ADAPTER_INTERFACE_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Output_Adapters/Interface/PlanEgress.idl b/modules/CIAO/RACE/Output_Adapters/Interface/PlanEgress.idl
new file mode 100644
index 00000000000..911c9966f06
--- /dev/null
+++ b/modules/CIAO/RACE/Output_Adapters/Interface/PlanEgress.idl
@@ -0,0 +1,22 @@
+//$Id$
+#ifndef RACE_PLAN_EGRESS_IDL
+#define RACE_PLAN_EGRESS_IDL
+
+#ifndef INCLUDED_DEPLOYMENT_DATA
+#define INCLUDED_DEPLOYMENT_DATA
+#include "Deployment_DeploymentPlan.idl"
+#endif
+
+module CIAO
+{
+
+ module RACE
+ {
+ interface PlanEgress
+ {
+ boolean output_plan (in Deployment::DeploymentPlan plan);
+ };
+ };
+};
+
+#endif /* RACE_PLAN_EGRESS_IDL */
diff --git a/modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter.cidl b/modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter.cidl
new file mode 100644
index 00000000000..bfd889a8dd3
--- /dev/null
+++ b/modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter.cidl
@@ -0,0 +1,25 @@
+//$Id$
+//XML_Output_Adapter.cidl
+
+#ifndef RACE_XML_OUTPUT_ADAPTER_CIDL
+#define RACE_XML_OUTPUT_ADAPTER_CIDL
+
+#include "XML_Output_Adapter.idl"
+
+module CIAO
+{
+ module RACE
+ {
+ composition session XML_Output_Adapter_Impl
+ {
+ home executor XML_Output_Adapter_Home_Exec
+ {
+ implements RACE::XML_Output_Adapter_Home;
+ manages XML_Output_Adapter_Exec;
+ };
+ };
+ };
+};
+
+
+#endif /* RACE_XML_OUTPUT_ADAPTER_CIDL */
diff --git a/modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter.idl b/modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter.idl
new file mode 100644
index 00000000000..818e1626111
--- /dev/null
+++ b/modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter.idl
@@ -0,0 +1,21 @@
+//$Id$
+#ifndef RACE_XML_OUTPUT_ADAPTER_IDL
+#define RACE_XML_OUTPUT_ADAPTER_IDL
+
+#include "../Base/Output_Adapter.idl"
+
+module CIAO
+{
+ module RACE
+ {
+ component XML_Output_Adapter : Output_Adapter
+ {
+ };
+
+ home XML_Output_Adapter_Home manages XML_Output_Adapter
+ {
+ };
+ };
+};
+
+#endif /* RACE_XML_OUTPUT_ADAPTER_IDL */
diff --git a/modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter.mpc b/modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter.mpc
new file mode 100644
index 00000000000..fca465a75fd
--- /dev/null
+++ b/modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter.mpc
@@ -0,0 +1,76 @@
+// generate_component_mpc.pl,v 1.9 2003/12/22 21:56:27 boris Exp
+//$Id$
+// This file is generated with "generate_component_mpc.pl -p Output_Adapter XML_Output_Adapter"
+
+project(XML_Output_Adapter_stub): ciao_deployment_stub {
+ after += Output_Adapter_stub
+ sharedname = XML_Output_Adapter_stub
+ idlflags += -Wb,stub_export_macro=XML_OUTPUT_ADAPTER_STUB_Export \
+ -Wb,stub_export_include=XML_Output_Adapter_stub_export.h \
+ -Wb,skel_export_macro=XML_OUTPUT_ADAPTER_SVNT_Export \
+ -Wb,skel_export_include=XML_Output_Adapter_svnt_export.h
+ dynamicflags = XML_OUTPUT_ADAPTER_STUB_BUILD_DLL
+ libs += Output_Adapter_stub \
+ Output_Adapter_Interface_stub
+
+ IDL_Files {
+ XML_Output_Adapter.idl
+ }
+
+ Source_Files {
+ XML_Output_AdapterC.cpp
+ }
+}
+
+project(XML_Output_Adapter_svnt) : ciao_servant_dnc {
+ after += Output_Adapter_svnt XML_Output_Adapter_stub
+ sharedname = XML_Output_Adapter_svnt
+ libs += XML_Output_Adapter_stub \
+ Output_Adapter_stub \
+ Output_Adapter_svnt \
+ Output_Adapter_Interface_stub \
+ Output_Adapter_Interface_svnt
+
+ idlflags += -Wb,export_macro=XML_OUTPUT_ADAPTER_SVNT_Export \
+ -Wb,export_include=XML_Output_Adapter_svnt_export.h
+ dynamicflags = XML_OUTPUT_ADAPTER_SVNT_BUILD_DLL
+
+ CIDL_Files {
+ XML_Output_Adapter.cidl
+ }
+
+ IDL_Files {
+ XML_Output_AdapterE.idl
+ }
+
+ Source_Files {
+ XML_Output_AdapterEC.cpp
+ XML_Output_AdapterS.cpp
+ XML_Output_Adapter_svnt.cpp
+ }
+}
+
+
+project(XML_Output_Adapter_exec) : ciao_component_dnc {
+ after += XML_Output_Adapter_svnt
+ sharedname = XML_Output_Adapter_exec
+ libs += XML_Output_Adapter_stub \
+ XML_Output_Adapter_svnt \
+ Output_Adapter_stub \
+ Output_Adapter_svnt \
+ Output_Adapter_Interface_stub \
+ Output_Adapter_Interface_svnt
+
+ idlflags += -Wb,export_macro=XML_OUTPUT_ADAPTER_EXEC_Export \
+ -Wb,export_include=XML_Output_Adapter_exec_export.h
+ dynamicflags = XML_OUTPUT_ADAPTER_EXEC_BUILD_DLL
+
+ IDL_Files {
+
+ }
+
+ Source_Files {
+
+ XML_Output_Adapter_exec.cpp
+ }
+}
diff --git a/modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter_exec.cpp b/modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter_exec.cpp
new file mode 100644
index 00000000000..26288a3b96c
--- /dev/null
+++ b/modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter_exec.cpp
@@ -0,0 +1,198 @@
+// $Id$
+//
+// **** Code generated by the ****
+// **** Component Integrated ACE ORB (CIAO) CIDL Compiler ****
+// CIAO has been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// CIDL Compiler has been developed by:
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about CIAO is available at:
+// http://www.dre.vanderbilt.edu/CIAO
+
+#include "XML_Output_Adapter_exec.h"
+#include "ciao/CIAO_common.h"
+
+namespace CIAO
+{
+ namespace RACE
+ {
+ namespace CIDL_XML_Output_Adapter_Impl
+ {
+ //==================================================================
+ // Facet Executor Implementation Class: PlanEgress_exec_i
+ //==================================================================
+
+ PlanEgress_exec_i::PlanEgress_exec_i (void)
+ {
+ }
+
+ PlanEgress_exec_i::~PlanEgress_exec_i (void)
+ {
+ }
+
+ // Operations from ::CIAO::RACE::PlanEgress
+
+ ::CORBA::Boolean
+ PlanEgress_exec_i::output_plan (
+ const ::Deployment::DeploymentPlan & /* plan */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ // Your code here.
+ return false;
+ }
+
+ //==================================================================
+ // Component Executor Implementation Class: XML_Output_Adapter_exec_i
+ //==================================================================
+
+ XML_Output_Adapter_exec_i::XML_Output_Adapter_exec_i (void)
+ {
+ }
+
+ XML_Output_Adapter_exec_i::~XML_Output_Adapter_exec_i (void)
+ {
+ }
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ ::CIAO::RACE::CCM_PlanEgress_ptr
+ XML_Output_Adapter_exec_i::get_plan_egress ()
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ // Your code here.
+ return ::CIAO::RACE::CCM_PlanEgress::_nil ();
+ }
+
+ // Operations from Components::SessionComponent
+
+ void
+ XML_Output_Adapter_exec_i::set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ this->context_ =
+ XML_Output_Adapter_Context::_narrow (
+ ctx);
+
+ if (this->context_ == 0)
+ {
+ throw CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ XML_Output_Adapter_exec_i::ciao_preactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ XML_Output_Adapter_exec_i::ciao_postactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ XML_Output_Adapter_exec_i::ccm_activate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ XML_Output_Adapter_exec_i::ccm_passivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ XML_Output_Adapter_exec_i::ccm_remove ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ //==================================================================
+ // Home Executor Implementation Class: XML_Output_Adapter_Home_exec_i
+ //==================================================================
+
+ XML_Output_Adapter_Home_exec_i::XML_Output_Adapter_Home_exec_i (void)
+ {
+ }
+
+ XML_Output_Adapter_Home_exec_i::~XML_Output_Adapter_Home_exec_i (void)
+ {
+ }
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ ::Components::EnterpriseComponent_ptr
+ XML_Output_Adapter_Home_exec_i::create ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_THROW_EX (
+ retval,
+ XML_Output_Adapter_exec_i,
+ CORBA::NO_MEMORY ());
+
+ return retval;
+ }
+
+ extern "C" XML_OUTPUT_ADAPTER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ createXML_Output_Adapter_Home_Impl (void)
+ {
+ ::Components::HomeExecutorBase_ptr retval =
+ ::Components::HomeExecutorBase::_nil ();
+
+ ACE_NEW_RETURN (
+ retval,
+ XML_Output_Adapter_Home_exec_i,
+ ::Components::HomeExecutorBase::_nil ());
+
+ return retval;
+ }
+ }
+ }
+}
+
diff --git a/modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter_exec.h b/modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter_exec.h
new file mode 100644
index 00000000000..2dc45207a3e
--- /dev/null
+++ b/modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter_exec.h
@@ -0,0 +1,152 @@
+// $Id$
+//
+// **** Code generated by the ****
+// **** Component Integrated ACE ORB (CIAO) CIDL Compiler ****
+// CIAO has been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// CIDL Compiler has been developed by:
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about CIAO is available at:
+// http://www.dre.vanderbilt.edu/CIAO
+
+#ifndef CIAO_XML_OUTPUT_ADAPTER_EXEC_H
+#define CIAO_XML_OUTPUT_ADAPTER_EXEC_H
+
+#include /**/ "ace/pre.h"
+
+#include "XML_Output_Adapter_svnt.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "XML_Output_Adapter_exec_export.h"
+#include "tao/LocalObject.h"
+
+namespace CIAO
+{
+ namespace RACE
+ {
+ namespace CIDL_XML_Output_Adapter_Impl
+ {
+ class XML_OUTPUT_ADAPTER_EXEC_Export PlanEgress_exec_i
+ : public virtual ::CIAO::RACE::CCM_PlanEgress,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ PlanEgress_exec_i (void);
+ virtual ~PlanEgress_exec_i (void);
+
+ // Operations from ::CIAO::RACE::PlanEgress
+
+ virtual ::CORBA::Boolean
+ output_plan (
+ const ::Deployment::DeploymentPlan & plan)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ };
+
+ class XML_OUTPUT_ADAPTER_EXEC_Export XML_Output_Adapter_exec_i
+ : public virtual XML_Output_Adapter_Exec,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ XML_Output_Adapter_exec_i (void);
+ virtual ~XML_Output_Adapter_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ virtual ::CIAO::RACE::CCM_PlanEgress_ptr
+ get_plan_egress ()
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Operations from Components::SessionComponent
+
+ virtual void
+ set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ciao_preactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ciao_postactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ccm_activate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ccm_passivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ccm_remove ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ protected:
+ XML_Output_Adapter_Context *context_;
+ };
+
+ class XML_OUTPUT_ADAPTER_EXEC_Export XML_Output_Adapter_Home_exec_i
+ : public virtual XML_Output_Adapter_Home_Exec,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ XML_Output_Adapter_Home_exec_i (void);
+ virtual ~XML_Output_Adapter_Home_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+ };
+
+ extern "C" XML_OUTPUT_ADAPTER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ createXML_Output_Adapter_Home_Impl (void);
+ }
+ }
+}
+
+#include /**/ "ace/post.h"
+
+#endif /* CIAO_XML_OUTPUT_ADAPTER_EXEC_H */
+
diff --git a/modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter_exec_export.h b/modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter_exec_export.h
new file mode 100644
index 00000000000..6fdbd02c910
--- /dev/null
+++ b/modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter_exec_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl XML_OUTPUT_ADAPTER_EXEC
+// ------------------------------
+#ifndef XML_OUTPUT_ADAPTER_EXEC_EXPORT_H
+#define XML_OUTPUT_ADAPTER_EXEC_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (XML_OUTPUT_ADAPTER_EXEC_HAS_DLL)
+# define XML_OUTPUT_ADAPTER_EXEC_HAS_DLL 1
+#endif /* ! XML_OUTPUT_ADAPTER_EXEC_HAS_DLL */
+
+#if defined (XML_OUTPUT_ADAPTER_EXEC_HAS_DLL) && (XML_OUTPUT_ADAPTER_EXEC_HAS_DLL == 1)
+# if defined (XML_OUTPUT_ADAPTER_EXEC_BUILD_DLL)
+# define XML_OUTPUT_ADAPTER_EXEC_Export ACE_Proper_Export_Flag
+# define XML_OUTPUT_ADAPTER_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define XML_OUTPUT_ADAPTER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* XML_OUTPUT_ADAPTER_EXEC_BUILD_DLL */
+# define XML_OUTPUT_ADAPTER_EXEC_Export ACE_Proper_Import_Flag
+# define XML_OUTPUT_ADAPTER_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define XML_OUTPUT_ADAPTER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* XML_OUTPUT_ADAPTER_EXEC_BUILD_DLL */
+#else /* XML_OUTPUT_ADAPTER_EXEC_HAS_DLL == 1 */
+# define XML_OUTPUT_ADAPTER_EXEC_Export
+# define XML_OUTPUT_ADAPTER_EXEC_SINGLETON_DECLARATION(T)
+# define XML_OUTPUT_ADAPTER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* XML_OUTPUT_ADAPTER_EXEC_HAS_DLL == 1 */
+
+// Set XML_OUTPUT_ADAPTER_EXEC_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (XML_OUTPUT_ADAPTER_EXEC_NTRACE)
+# if (ACE_NTRACE == 1)
+# define XML_OUTPUT_ADAPTER_EXEC_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define XML_OUTPUT_ADAPTER_EXEC_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !XML_OUTPUT_ADAPTER_EXEC_NTRACE */
+
+#if (XML_OUTPUT_ADAPTER_EXEC_NTRACE == 1)
+# define XML_OUTPUT_ADAPTER_EXEC_TRACE(X)
+#else /* (XML_OUTPUT_ADAPTER_EXEC_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define XML_OUTPUT_ADAPTER_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (XML_OUTPUT_ADAPTER_EXEC_NTRACE == 1) */
+
+#endif /* XML_OUTPUT_ADAPTER_EXEC_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter_stub_export.h b/modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter_stub_export.h
new file mode 100644
index 00000000000..40bf6add478
--- /dev/null
+++ b/modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter_stub_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl XML_OUTPUT_ADAPTER_STUB
+// ------------------------------
+#ifndef XML_OUTPUT_ADAPTER_STUB_EXPORT_H
+#define XML_OUTPUT_ADAPTER_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (XML_OUTPUT_ADAPTER_STUB_HAS_DLL)
+# define XML_OUTPUT_ADAPTER_STUB_HAS_DLL 1
+#endif /* ! XML_OUTPUT_ADAPTER_STUB_HAS_DLL */
+
+#if defined (XML_OUTPUT_ADAPTER_STUB_HAS_DLL) && (XML_OUTPUT_ADAPTER_STUB_HAS_DLL == 1)
+# if defined (XML_OUTPUT_ADAPTER_STUB_BUILD_DLL)
+# define XML_OUTPUT_ADAPTER_STUB_Export ACE_Proper_Export_Flag
+# define XML_OUTPUT_ADAPTER_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define XML_OUTPUT_ADAPTER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* XML_OUTPUT_ADAPTER_STUB_BUILD_DLL */
+# define XML_OUTPUT_ADAPTER_STUB_Export ACE_Proper_Import_Flag
+# define XML_OUTPUT_ADAPTER_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define XML_OUTPUT_ADAPTER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* XML_OUTPUT_ADAPTER_STUB_BUILD_DLL */
+#else /* XML_OUTPUT_ADAPTER_STUB_HAS_DLL == 1 */
+# define XML_OUTPUT_ADAPTER_STUB_Export
+# define XML_OUTPUT_ADAPTER_STUB_SINGLETON_DECLARATION(T)
+# define XML_OUTPUT_ADAPTER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* XML_OUTPUT_ADAPTER_STUB_HAS_DLL == 1 */
+
+// Set XML_OUTPUT_ADAPTER_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (XML_OUTPUT_ADAPTER_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define XML_OUTPUT_ADAPTER_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define XML_OUTPUT_ADAPTER_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !XML_OUTPUT_ADAPTER_STUB_NTRACE */
+
+#if (XML_OUTPUT_ADAPTER_STUB_NTRACE == 1)
+# define XML_OUTPUT_ADAPTER_STUB_TRACE(X)
+#else /* (XML_OUTPUT_ADAPTER_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define XML_OUTPUT_ADAPTER_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (XML_OUTPUT_ADAPTER_STUB_NTRACE == 1) */
+
+#endif /* XML_OUTPUT_ADAPTER_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter_svnt_export.h b/modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter_svnt_export.h
new file mode 100644
index 00000000000..7c563fadf8a
--- /dev/null
+++ b/modules/CIAO/RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter_svnt_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl XML_OUTPUT_ADAPTER_SVNT
+// ------------------------------
+#ifndef XML_OUTPUT_ADAPTER_SVNT_EXPORT_H
+#define XML_OUTPUT_ADAPTER_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (XML_OUTPUT_ADAPTER_SVNT_HAS_DLL)
+# define XML_OUTPUT_ADAPTER_SVNT_HAS_DLL 1
+#endif /* ! XML_OUTPUT_ADAPTER_SVNT_HAS_DLL */
+
+#if defined (XML_OUTPUT_ADAPTER_SVNT_HAS_DLL) && (XML_OUTPUT_ADAPTER_SVNT_HAS_DLL == 1)
+# if defined (XML_OUTPUT_ADAPTER_SVNT_BUILD_DLL)
+# define XML_OUTPUT_ADAPTER_SVNT_Export ACE_Proper_Export_Flag
+# define XML_OUTPUT_ADAPTER_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define XML_OUTPUT_ADAPTER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* XML_OUTPUT_ADAPTER_SVNT_BUILD_DLL */
+# define XML_OUTPUT_ADAPTER_SVNT_Export ACE_Proper_Import_Flag
+# define XML_OUTPUT_ADAPTER_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define XML_OUTPUT_ADAPTER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* XML_OUTPUT_ADAPTER_SVNT_BUILD_DLL */
+#else /* XML_OUTPUT_ADAPTER_SVNT_HAS_DLL == 1 */
+# define XML_OUTPUT_ADAPTER_SVNT_Export
+# define XML_OUTPUT_ADAPTER_SVNT_SINGLETON_DECLARATION(T)
+# define XML_OUTPUT_ADAPTER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* XML_OUTPUT_ADAPTER_SVNT_HAS_DLL == 1 */
+
+// Set XML_OUTPUT_ADAPTER_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (XML_OUTPUT_ADAPTER_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define XML_OUTPUT_ADAPTER_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define XML_OUTPUT_ADAPTER_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !XML_OUTPUT_ADAPTER_SVNT_NTRACE */
+
+#if (XML_OUTPUT_ADAPTER_SVNT_NTRACE == 1)
+# define XML_OUTPUT_ADAPTER_SVNT_TRACE(X)
+#else /* (XML_OUTPUT_ADAPTER_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define XML_OUTPUT_ADAPTER_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (XML_OUTPUT_ADAPTER_SVNT_NTRACE == 1) */
+
+#endif /* XML_OUTPUT_ADAPTER_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer.cidl b/modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer.cidl
new file mode 100644
index 00000000000..abb90746baa
--- /dev/null
+++ b/modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer.cidl
@@ -0,0 +1,25 @@
+//$Id$
+//Plan_Analyzer.cidl
+
+#ifndef RACE_PLAN_ANALYZER_CIDL
+#define RACE_PLAN_ANALYZER_CIDL
+
+#include "Plan_Analyzer.idl"
+
+module CIAO
+{
+ module RACE
+ {
+ composition session Plan_Analyzer_Impl
+ {
+ home executor Plan_Analyzer_Home_Exec
+ {
+ implements RACE::Plan_Analyzer_Home;
+ manages Plan_Analyzer_Exec;
+ };
+ };
+ };
+};
+
+
+#endif /* RACE_PLAN_ANALYZER_CIDL */
diff --git a/modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer.idl b/modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer.idl
new file mode 100644
index 00000000000..9f4fdd4668d
--- /dev/null
+++ b/modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer.idl
@@ -0,0 +1,32 @@
+//$Id$
+#ifndef RACE_PLAN_ANALYZER_IDL
+#define RACE_PLAN_ANALYZER_IDL
+
+#include <Components.idl>
+#include "../Interface/PlanIngress.idl"
+#include "../../Planner_Manager/Interface/Planner_Manager_I.idl"
+
+module CIAO
+{
+
+ module RACE
+ {
+ component Plan_Analyzer
+ {
+ provides PlanIngress plan_ingress;
+ uses Planner_Manager_I planner_manager_i;
+
+ readonly attribute RACE_Classifications classes;
+
+ // provides PlannerInfo pinfo;
+ // uses multiple Analyzer plugins;
+ };
+
+ home Plan_Analyzer_Home manages Plan_Analyzer
+ {
+ };
+ };
+};
+
+
+#endif /* RACE_PLAN_ANALYZER_IDL */
diff --git a/modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer.mpc b/modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer.mpc
new file mode 100644
index 00000000000..ccf3d9dae17
--- /dev/null
+++ b/modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer.mpc
@@ -0,0 +1,100 @@
+// generate_component_mpc.pl,v 1.9 2003/12/22 21:56:27 boris Exp
+//$Id$
+// This file is generated with "generate_component_mpc.pl Plan_Analyzer"
+
+project(Plan_Analyzer_stub): ciao_deployment_stub {
+ after += Plan_Analyzer_Interface_stub \
+ RACE_common_stub \
+ Planner_Manager_Interface_stub
+ sharedname = Plan_Analyzer_stub
+ idlflags += -Wb,stub_export_macro=PLAN_ANALYZER_STUB_Export \
+ -Wb,stub_export_include=Plan_Analyzer_stub_export.h \
+ -Wb,skel_export_macro=PLAN_ANALYZER_SVNT_Export \
+ -Wb,skel_export_include=Plan_Analyzer_svnt_export.h
+ dynamicflags = PLAN_ANALYZER_STUB_BUILD_DLL
+ libs += Plan_Analyzer_Interface_stub \
+ RACE_common_stub \
+ Planner_Manager_Interface_stub
+
+ IDL_Files {
+ Plan_Analyzer.idl
+ }
+
+ Source_Files {
+ Plan_AnalyzerC.cpp
+ }
+
+ Header_Files {
+ Plan_AnalyzerC.h
+ }
+
+ Inline_Files {
+ Plan_AnalyzerC.inl
+ }
+}
+
+project(Plan_Analyzer_svnt) : ciao_servant_dnc {
+ after += Plan_Analyzer_stub \
+ Plan_Analyzer_Interface_svnt
+ sharedname = Plan_Analyzer_svnt
+ libs += Plan_Analyzer_stub \
+ RACE_common_stub \
+ Plan_Analyzer_Interface_stub \
+ Plan_Analyzer_Interface_svnt \
+ Planner_Manager_Interface_stub
+
+ idlflags += -Wb,export_macro=PLAN_ANALYZER_SVNT_Export \
+ -Wb,export_include=Plan_Analyzer_svnt_export.h
+
+ dynamicflags = PLAN_ANALYZER_SVNT_BUILD_DLL
+
+ CIDL_Files {
+ Plan_Analyzer.cidl
+ }
+
+ IDL_Files {
+ Plan_AnalyzerE.idl
+ }
+
+ Source_Files {
+ Plan_AnalyzerEC.cpp
+ Plan_AnalyzerS.cpp
+ Plan_Analyzer_svnt.cpp
+ }
+
+ Header_Files {
+ Plan_AnalyzerEC.h
+ Plan_AnalyzerS.h
+ Plan_Analyzer_svnt.h
+ }
+
+ Inline_Files {
+ Plan_AnalyzerEC.inl
+ Plan_AnalyzerS.inl
+ Plan_Analyzer_svnt.inl
+ }
+}
+
+
+project(Plan_Analyzer_exec) : ciao_component_dnc {
+ after += Plan_Analyzer_svnt
+ sharedname = Plan_Analyzer_exec
+ libs += Plan_Analyzer_stub \
+ Plan_Analyzer_svnt \
+ RACE_common_stub \
+ Plan_Analyzer_Interface_stub \
+ Plan_Analyzer_Interface_svnt \
+ Planner_Manager_Interface_stub
+
+ idlflags += -Wb,export_macro=PLAN_ANALYZER_EXEC_Export \
+ -Wb,export_include=Plan_Analyzer_exec_export.h
+ dynamicflags = PLAN_ANALYZER_EXEC_BUILD_DLL
+
+ IDL_Files {
+
+ }
+
+ Source_Files {
+ Plan_Analyzer_exec.cpp
+ }
+}
diff --git a/modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer_exec.cpp b/modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer_exec.cpp
new file mode 100644
index 00000000000..09e976afbbe
--- /dev/null
+++ b/modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer_exec.cpp
@@ -0,0 +1,205 @@
+// $Id$
+//
+// **** Code generated by the ****
+// **** Component Integrated ACE ORB (CIAO) CIDL Compiler ****
+// CIAO has been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// CIDL Compiler has been developed by:
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about CIAO is available at:
+// http://www.dre.vanderbilt.edu/CIAO
+
+#include "Plan_Analyzer_exec.h"
+#include "ciao/CIAO_common.h"
+
+namespace CIAO
+{
+ namespace RACE
+ {
+ namespace CIDL_Plan_Analyzer_Impl
+ {
+ //==================================================================
+ // Facet Executor Implementation Class: PlanIngress_exec_i
+ //==================================================================
+
+ PlanIngress_exec_i::PlanIngress_exec_i (void)
+ {
+ }
+
+ PlanIngress_exec_i::~PlanIngress_exec_i (void)
+ {
+ }
+
+ // Operations from ::CIAO::RACE::PlanIngress
+
+ void
+ PlanIngress_exec_i::analyze_plan (
+ const ::Deployment::DeploymentPlan & /* plan */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ // Your code here.
+ }
+
+ //==================================================================
+ // Component Executor Implementation Class: Plan_Analyzer_exec_i
+ //==================================================================
+
+ Plan_Analyzer_exec_i::Plan_Analyzer_exec_i (void)
+ {
+ }
+
+ Plan_Analyzer_exec_i::~Plan_Analyzer_exec_i (void)
+ {
+ }
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ ::CIAO::RACE::RACE_Classifications *
+ Plan_Analyzer_exec_i::classes ()
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ // Your code here.
+ return 0;
+ }
+
+ // Port operations.
+
+ ::CIAO::RACE::CCM_PlanIngress_ptr
+ Plan_Analyzer_exec_i::get_plan_ingress ()
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ // Your code here.
+ return ::CIAO::RACE::CCM_PlanIngress::_nil ();
+ }
+
+ // Operations from Components::SessionComponent
+
+ void
+ Plan_Analyzer_exec_i::set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ this->context_ =
+ Plan_Analyzer_Context::_narrow (
+ ctx);
+
+ if (this->context_ == 0)
+ {
+ throw CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ Plan_Analyzer_exec_i::ciao_preactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ Plan_Analyzer_exec_i::ciao_postactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ Plan_Analyzer_exec_i::ccm_activate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ Plan_Analyzer_exec_i::ccm_passivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ Plan_Analyzer_exec_i::ccm_remove ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ //==================================================================
+ // Home Executor Implementation Class: Plan_Analyzer_Home_exec_i
+ //==================================================================
+
+ Plan_Analyzer_Home_exec_i::Plan_Analyzer_Home_exec_i (void)
+ {
+ }
+
+ Plan_Analyzer_Home_exec_i::~Plan_Analyzer_Home_exec_i (void)
+ {
+ }
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ ::Components::EnterpriseComponent_ptr
+ Plan_Analyzer_Home_exec_i::create ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_THROW_EX (
+ retval,
+ Plan_Analyzer_exec_i,
+ CORBA::NO_MEMORY ());
+
+ return retval;
+ }
+
+ extern "C" PLAN_ANALYZER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ createPlan_Analyzer_Home_Impl (void)
+ {
+ ::Components::HomeExecutorBase_ptr retval =
+ ::Components::HomeExecutorBase::_nil ();
+
+ ACE_NEW_RETURN (
+ retval,
+ Plan_Analyzer_Home_exec_i,
+ ::Components::HomeExecutorBase::_nil ());
+
+ return retval;
+ }
+ }
+ }
+}
+
diff --git a/modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer_exec.h b/modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer_exec.h
new file mode 100644
index 00000000000..93318713481
--- /dev/null
+++ b/modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer_exec.h
@@ -0,0 +1,156 @@
+// $Id$
+//
+// **** Code generated by the ****
+// **** Component Integrated ACE ORB (CIAO) CIDL Compiler ****
+// CIAO has been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// CIDL Compiler has been developed by:
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about CIAO is available at:
+// http://www.dre.vanderbilt.edu/CIAO
+
+#ifndef CIAO_PLAN_ANALYZER_EXEC_H
+#define CIAO_PLAN_ANALYZER_EXEC_H
+
+#include /**/ "ace/pre.h"
+
+#include "Plan_Analyzer_svnt.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "Plan_Analyzer_exec_export.h"
+#include "tao/LocalObject.h"
+
+namespace CIAO
+{
+ namespace RACE
+ {
+ namespace CIDL_Plan_Analyzer_Impl
+ {
+ class PLAN_ANALYZER_EXEC_Export PlanIngress_exec_i
+ : public virtual ::CIAO::RACE::CCM_PlanIngress,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ PlanIngress_exec_i (void);
+ virtual ~PlanIngress_exec_i (void);
+
+ // Operations from ::CIAO::RACE::PlanIngress
+
+ virtual void
+ analyze_plan (
+ const ::Deployment::DeploymentPlan & plan)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ };
+
+ class PLAN_ANALYZER_EXEC_Export Plan_Analyzer_exec_i
+ : public virtual Plan_Analyzer_Exec,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ Plan_Analyzer_exec_i (void);
+ virtual ~Plan_Analyzer_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ virtual ::CIAO::RACE::RACE_Classifications *
+ classes ()
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Port operations.
+
+ virtual ::CIAO::RACE::CCM_PlanIngress_ptr
+ get_plan_ingress ()
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Operations from Components::SessionComponent
+
+ virtual void
+ set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ciao_preactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ciao_postactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ccm_activate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ccm_passivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ccm_remove ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ protected:
+ Plan_Analyzer_Context *context_;
+ };
+
+ class PLAN_ANALYZER_EXEC_Export Plan_Analyzer_Home_exec_i
+ : public virtual Plan_Analyzer_Home_Exec,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ Plan_Analyzer_Home_exec_i (void);
+ virtual ~Plan_Analyzer_Home_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+ };
+
+ extern "C" PLAN_ANALYZER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ createPlan_Analyzer_Home_Impl (void);
+ }
+ }
+}
+
+#include /**/ "ace/post.h"
+
+#endif /* CIAO_PLAN_ANALYZER_EXEC_H */
+
diff --git a/modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer_exec_export.h b/modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer_exec_export.h
new file mode 100644
index 00000000000..d2449edd9e7
--- /dev/null
+++ b/modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer_exec_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl PLAN_ANALYZER_EXEC
+// ------------------------------
+#ifndef PLAN_ANALYZER_EXEC_EXPORT_H
+#define PLAN_ANALYZER_EXEC_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (PLAN_ANALYZER_EXEC_HAS_DLL)
+# define PLAN_ANALYZER_EXEC_HAS_DLL 1
+#endif /* ! PLAN_ANALYZER_EXEC_HAS_DLL */
+
+#if defined (PLAN_ANALYZER_EXEC_HAS_DLL) && (PLAN_ANALYZER_EXEC_HAS_DLL == 1)
+# if defined (PLAN_ANALYZER_EXEC_BUILD_DLL)
+# define PLAN_ANALYZER_EXEC_Export ACE_Proper_Export_Flag
+# define PLAN_ANALYZER_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define PLAN_ANALYZER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* PLAN_ANALYZER_EXEC_BUILD_DLL */
+# define PLAN_ANALYZER_EXEC_Export ACE_Proper_Import_Flag
+# define PLAN_ANALYZER_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define PLAN_ANALYZER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* PLAN_ANALYZER_EXEC_BUILD_DLL */
+#else /* PLAN_ANALYZER_EXEC_HAS_DLL == 1 */
+# define PLAN_ANALYZER_EXEC_Export
+# define PLAN_ANALYZER_EXEC_SINGLETON_DECLARATION(T)
+# define PLAN_ANALYZER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* PLAN_ANALYZER_EXEC_HAS_DLL == 1 */
+
+// Set PLAN_ANALYZER_EXEC_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (PLAN_ANALYZER_EXEC_NTRACE)
+# if (ACE_NTRACE == 1)
+# define PLAN_ANALYZER_EXEC_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define PLAN_ANALYZER_EXEC_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !PLAN_ANALYZER_EXEC_NTRACE */
+
+#if (PLAN_ANALYZER_EXEC_NTRACE == 1)
+# define PLAN_ANALYZER_EXEC_TRACE(X)
+#else /* (PLAN_ANALYZER_EXEC_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define PLAN_ANALYZER_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (PLAN_ANALYZER_EXEC_NTRACE == 1) */
+
+#endif /* PLAN_ANALYZER_EXEC_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer_stub_export.h b/modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer_stub_export.h
new file mode 100644
index 00000000000..90b041f89a8
--- /dev/null
+++ b/modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer_stub_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl PLAN_ANALYZER_STUB
+// ------------------------------
+#ifndef PLAN_ANALYZER_STUB_EXPORT_H
+#define PLAN_ANALYZER_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (PLAN_ANALYZER_STUB_HAS_DLL)
+# define PLAN_ANALYZER_STUB_HAS_DLL 1
+#endif /* ! PLAN_ANALYZER_STUB_HAS_DLL */
+
+#if defined (PLAN_ANALYZER_STUB_HAS_DLL) && (PLAN_ANALYZER_STUB_HAS_DLL == 1)
+# if defined (PLAN_ANALYZER_STUB_BUILD_DLL)
+# define PLAN_ANALYZER_STUB_Export ACE_Proper_Export_Flag
+# define PLAN_ANALYZER_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define PLAN_ANALYZER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* PLAN_ANALYZER_STUB_BUILD_DLL */
+# define PLAN_ANALYZER_STUB_Export ACE_Proper_Import_Flag
+# define PLAN_ANALYZER_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define PLAN_ANALYZER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* PLAN_ANALYZER_STUB_BUILD_DLL */
+#else /* PLAN_ANALYZER_STUB_HAS_DLL == 1 */
+# define PLAN_ANALYZER_STUB_Export
+# define PLAN_ANALYZER_STUB_SINGLETON_DECLARATION(T)
+# define PLAN_ANALYZER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* PLAN_ANALYZER_STUB_HAS_DLL == 1 */
+
+// Set PLAN_ANALYZER_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (PLAN_ANALYZER_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define PLAN_ANALYZER_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define PLAN_ANALYZER_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !PLAN_ANALYZER_STUB_NTRACE */
+
+#if (PLAN_ANALYZER_STUB_NTRACE == 1)
+# define PLAN_ANALYZER_STUB_TRACE(X)
+#else /* (PLAN_ANALYZER_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define PLAN_ANALYZER_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (PLAN_ANALYZER_STUB_NTRACE == 1) */
+
+#endif /* PLAN_ANALYZER_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer_svnt_export.h b/modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer_svnt_export.h
new file mode 100644
index 00000000000..13f0c025860
--- /dev/null
+++ b/modules/CIAO/RACE/Plan_Analyzer/Component/Plan_Analyzer_svnt_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl PLAN_ANALYZER_SVNT
+// ------------------------------
+#ifndef PLAN_ANALYZER_SVNT_EXPORT_H
+#define PLAN_ANALYZER_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (PLAN_ANALYZER_SVNT_HAS_DLL)
+# define PLAN_ANALYZER_SVNT_HAS_DLL 1
+#endif /* ! PLAN_ANALYZER_SVNT_HAS_DLL */
+
+#if defined (PLAN_ANALYZER_SVNT_HAS_DLL) && (PLAN_ANALYZER_SVNT_HAS_DLL == 1)
+# if defined (PLAN_ANALYZER_SVNT_BUILD_DLL)
+# define PLAN_ANALYZER_SVNT_Export ACE_Proper_Export_Flag
+# define PLAN_ANALYZER_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define PLAN_ANALYZER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* PLAN_ANALYZER_SVNT_BUILD_DLL */
+# define PLAN_ANALYZER_SVNT_Export ACE_Proper_Import_Flag
+# define PLAN_ANALYZER_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define PLAN_ANALYZER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* PLAN_ANALYZER_SVNT_BUILD_DLL */
+#else /* PLAN_ANALYZER_SVNT_HAS_DLL == 1 */
+# define PLAN_ANALYZER_SVNT_Export
+# define PLAN_ANALYZER_SVNT_SINGLETON_DECLARATION(T)
+# define PLAN_ANALYZER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* PLAN_ANALYZER_SVNT_HAS_DLL == 1 */
+
+// Set PLAN_ANALYZER_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (PLAN_ANALYZER_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define PLAN_ANALYZER_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define PLAN_ANALYZER_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !PLAN_ANALYZER_SVNT_NTRACE */
+
+#if (PLAN_ANALYZER_SVNT_NTRACE == 1)
+# define PLAN_ANALYZER_SVNT_TRACE(X)
+#else /* (PLAN_ANALYZER_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define PLAN_ANALYZER_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (PLAN_ANALYZER_SVNT_NTRACE == 1) */
+
+#endif /* PLAN_ANALYZER_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Plan_Analyzer/Interface/PlanIngress.idl b/modules/CIAO/RACE/Plan_Analyzer/Interface/PlanIngress.idl
new file mode 100644
index 00000000000..1074b4f4da3
--- /dev/null
+++ b/modules/CIAO/RACE/Plan_Analyzer/Interface/PlanIngress.idl
@@ -0,0 +1,22 @@
+//$Id$
+#ifndef RACE_PLAN_INGRESS_IDL
+#define RACE_PLAN_INGRESS_IDL
+
+#ifndef INCLUDED_DEPLOYMENT_DATA
+#define INCLUDED_DEPLOYMENT_DATA
+#include "Deployment_DeploymentPlan.idl"
+#endif
+
+module CIAO
+{
+ module RACE
+ {
+ interface PlanIngress
+ {
+ void analyze_plan (in Deployment::DeploymentPlan plan);
+ };
+ };
+};
+
+
+#endif /* RACE_PLAN_INGRESS_IDL */
diff --git a/modules/CIAO/RACE/Plan_Analyzer/Interface/Plan_Analyzer_Interface.mpc b/modules/CIAO/RACE/Plan_Analyzer/Interface/Plan_Analyzer_Interface.mpc
new file mode 100644
index 00000000000..0b7e6b2bfc9
--- /dev/null
+++ b/modules/CIAO/RACE/Plan_Analyzer/Interface/Plan_Analyzer_Interface.mpc
@@ -0,0 +1,58 @@
+// generate_component_mpc.pl,v 1.9 2003/12/22 21:56:27 boris Exp
+//$Id$
+// This file is generated with "generate_component_mpc.pl -n Planner_Manager_Interface"
+
+project(Plan_Analyzer_Interface_stub): ciao_deployment_stub {
+
+ sharedname = Plan_Analyzer_Interface_stub
+ idlflags += -Wb,stub_export_macro=PLAN_ANALYZER_INTERFACE_STUB_Export \
+ -Wb,stub_export_include=Plan_Analyzer_Interface_stub_export.h \
+ -Wb,skel_export_macro=PLAN_ANALYZER_INTERFACE_SVNT_Export \
+ -Wb,skel_export_include=Plan_Analyzer_Interface_svnt_export.h
+ dynamicflags = PLAN_ANALYZER_INTERFACE_STUB_BUILD_DLL
+
+ IDL_Files {
+ PlanIngress.idl
+ }
+
+ Source_Files {
+ PlanIngressC.cpp
+ }
+
+ Header_Files {
+ PlanIngressC.h
+ }
+
+ Inline_Files {
+ PlanIngressC.inl
+ }
+}
+
+project(Plan_Analyzer_Interface_svnt) : ciao_servant_dnc {
+
+ after += Plan_Analyzer_Interface_stub
+ sharedname = Plan_Analyzer_Interface_svnt
+ libs += Plan_Analyzer_Interface_stub
+
+ idlflags += -Wb,stub_export_macro=PLAN_ANALYZER_INTERFACE_STUB_Export \
+ -Wb,stub_export_include=Plan_Analyzer_Interface_stub_export.h \
+ -Wb,skel_export_macro=PLAN_ANALYZER_INTERFACE_SVNT_Export \
+ -Wb,skel_export_include=Plan_Analyzer_Interface_svnt_export.h
+ dynamicflags = PLAN_ANALYZER_INTERFACE_SVNT_BUILD_DLL
+
+ IDL_Files {
+ PlanIngress.idl
+ }
+
+ Source_Files {
+ PlanIngressS.cpp
+ }
+
+ Header_Files {
+ PlanIngressS.h
+ }
+
+ Inline_Files {
+ PlanIngressS.inl
+ }
+}
diff --git a/modules/CIAO/RACE/Plan_Analyzer/Interface/Plan_Analyzer_Interface_stub_export.h b/modules/CIAO/RACE/Plan_Analyzer/Interface/Plan_Analyzer_Interface_stub_export.h
new file mode 100644
index 00000000000..7cbca0251fc
--- /dev/null
+++ b/modules/CIAO/RACE/Plan_Analyzer/Interface/Plan_Analyzer_Interface_stub_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl PLAN_ANALYZER_INTERFACE_STUB
+// ------------------------------
+#ifndef PLAN_ANALYZER_INTERFACE_STUB_EXPORT_H
+#define PLAN_ANALYZER_INTERFACE_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (PLAN_ANALYZER_INTERFACE_STUB_HAS_DLL)
+# define PLAN_ANALYZER_INTERFACE_STUB_HAS_DLL 1
+#endif /* ! PLAN_ANALYZER_INTERFACE_STUB_HAS_DLL */
+
+#if defined (PLAN_ANALYZER_INTERFACE_STUB_HAS_DLL) && (PLAN_ANALYZER_INTERFACE_STUB_HAS_DLL == 1)
+# if defined (PLAN_ANALYZER_INTERFACE_STUB_BUILD_DLL)
+# define PLAN_ANALYZER_INTERFACE_STUB_Export ACE_Proper_Export_Flag
+# define PLAN_ANALYZER_INTERFACE_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define PLAN_ANALYZER_INTERFACE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* PLAN_ANALYZER_INTERFACE_STUB_BUILD_DLL */
+# define PLAN_ANALYZER_INTERFACE_STUB_Export ACE_Proper_Import_Flag
+# define PLAN_ANALYZER_INTERFACE_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define PLAN_ANALYZER_INTERFACE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* PLAN_ANALYZER_INTERFACE_STUB_BUILD_DLL */
+#else /* PLAN_ANALYZER_INTERFACE_STUB_HAS_DLL == 1 */
+# define PLAN_ANALYZER_INTERFACE_STUB_Export
+# define PLAN_ANALYZER_INTERFACE_STUB_SINGLETON_DECLARATION(T)
+# define PLAN_ANALYZER_INTERFACE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* PLAN_ANALYZER_INTERFACE_STUB_HAS_DLL == 1 */
+
+// Set PLAN_ANALYZER_INTERFACE_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (PLAN_ANALYZER_INTERFACE_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define PLAN_ANALYZER_INTERFACE_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define PLAN_ANALYZER_INTERFACE_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !PLAN_ANALYZER_INTERFACE_STUB_NTRACE */
+
+#if (PLAN_ANALYZER_INTERFACE_STUB_NTRACE == 1)
+# define PLAN_ANALYZER_INTERFACE_STUB_TRACE(X)
+#else /* (PLAN_ANALYZER_INTERFACE_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define PLAN_ANALYZER_INTERFACE_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (PLAN_ANALYZER_INTERFACE_STUB_NTRACE == 1) */
+
+#endif /* PLAN_ANALYZER_INTERFACE_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Plan_Analyzer/Interface/Plan_Analyzer_Interface_svnt_export.h b/modules/CIAO/RACE/Plan_Analyzer/Interface/Plan_Analyzer_Interface_svnt_export.h
new file mode 100644
index 00000000000..ceb90e37efb
--- /dev/null
+++ b/modules/CIAO/RACE/Plan_Analyzer/Interface/Plan_Analyzer_Interface_svnt_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl PLAN_ANALYZER_INTERFACE_SVNT
+// ------------------------------
+#ifndef PLAN_ANALYZER_INTERFACE_SVNT_EXPORT_H
+#define PLAN_ANALYZER_INTERFACE_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (PLAN_ANALYZER_INTERFACE_SVNT_HAS_DLL)
+# define PLAN_ANALYZER_INTERFACE_SVNT_HAS_DLL 1
+#endif /* ! PLAN_ANALYZER_INTERFACE_SVNT_HAS_DLL */
+
+#if defined (PLAN_ANALYZER_INTERFACE_SVNT_HAS_DLL) && (PLAN_ANALYZER_INTERFACE_SVNT_HAS_DLL == 1)
+# if defined (PLAN_ANALYZER_INTERFACE_SVNT_BUILD_DLL)
+# define PLAN_ANALYZER_INTERFACE_SVNT_Export ACE_Proper_Export_Flag
+# define PLAN_ANALYZER_INTERFACE_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define PLAN_ANALYZER_INTERFACE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* PLAN_ANALYZER_INTERFACE_SVNT_BUILD_DLL */
+# define PLAN_ANALYZER_INTERFACE_SVNT_Export ACE_Proper_Import_Flag
+# define PLAN_ANALYZER_INTERFACE_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define PLAN_ANALYZER_INTERFACE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* PLAN_ANALYZER_INTERFACE_SVNT_BUILD_DLL */
+#else /* PLAN_ANALYZER_INTERFACE_SVNT_HAS_DLL == 1 */
+# define PLAN_ANALYZER_INTERFACE_SVNT_Export
+# define PLAN_ANALYZER_INTERFACE_SVNT_SINGLETON_DECLARATION(T)
+# define PLAN_ANALYZER_INTERFACE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* PLAN_ANALYZER_INTERFACE_SVNT_HAS_DLL == 1 */
+
+// Set PLAN_ANALYZER_INTERFACE_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (PLAN_ANALYZER_INTERFACE_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define PLAN_ANALYZER_INTERFACE_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define PLAN_ANALYZER_INTERFACE_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !PLAN_ANALYZER_INTERFACE_SVNT_NTRACE */
+
+#if (PLAN_ANALYZER_INTERFACE_SVNT_NTRACE == 1)
+# define PLAN_ANALYZER_INTERFACE_SVNT_TRACE(X)
+#else /* (PLAN_ANALYZER_INTERFACE_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define PLAN_ANALYZER_INTERFACE_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (PLAN_ANALYZER_INTERFACE_SVNT_NTRACE == 1) */
+
+#endif /* PLAN_ANALYZER_INTERFACE_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager.cidl b/modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager.cidl
new file mode 100644
index 00000000000..dcf42d8218c
--- /dev/null
+++ b/modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager.cidl
@@ -0,0 +1,28 @@
+//$Id$
+//Planner_Manager.cidl
+
+#ifndef RACE_PLANNER_MANAGER_CIDL
+#define RACE_PLANNER_MANAGER_CIDL
+
+#include "Planner_Manager.idl"
+
+#include "../../Planners/Interface/Planner_I.idl"
+#include "../../Output_Adapters/Interface/PlanEgress.idl"
+
+module CIAO
+{
+ module RACE
+ {
+
+ composition session Planner_Manager_Impl
+ {
+ home executor Planner_Manager_Home_Exec
+ {
+ implements RACE::Planner_Manager_Home;
+ manages Planner_Manager_Exec;
+ };
+ };
+ };
+};
+
+#endif /* RACE_PLANNER_MANAGER_CIDL */
diff --git a/modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager.idl b/modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager.idl
new file mode 100644
index 00000000000..24bc92644f5
--- /dev/null
+++ b/modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager.idl
@@ -0,0 +1,32 @@
+//$Id$
+#ifndef RACE_PLANNER_MANAGER_IDL
+#define RACE_PLANNER_MANAGER_IDL
+
+#include <Components.idl>
+#include "../Interface/Planner_Manager_I.idl"
+
+#include "../../Planners/Interface/Planner_I.idl"
+#include "../../Output_Adapters/Interface/PlanEgress.idl"
+
+module CIAO
+{
+ module RACE
+ {
+ interface Planner_I;
+ interface PlanEgress;
+
+ component Planner_Manager
+ {
+ provides Planner_Manager_I planner_manager_i;
+ uses multiple Planner_I planners;
+ uses multiple PlanEgress outputs;
+ readonly attribute RACE_Classifications classes;
+ };
+
+ home Planner_Manager_Home manages Planner_Manager
+ {
+ };
+ };
+};
+
+#endif /* RACE_PLANNER_MANAGER_IDL */
diff --git a/modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager.mpc b/modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager.mpc
new file mode 100644
index 00000000000..25f925c196a
--- /dev/null
+++ b/modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager.mpc
@@ -0,0 +1,103 @@
+// generate_component_mpc.pl,v 1.9 2003/12/22 21:56:27 boris Exp
+//$Id$
+// This file is generated with "generate_component_mpc.pl Planner_Manager"
+
+project(Planner_Manager_stub): ciao_deployment_stub {
+ after += Planner_Manager_Interface_stub \
+ Planner_Interface_stub \
+ Output_Adapter_Interface_stub
+ sharedname = Planner_Manager_stub
+ idlflags += -Wb,stub_export_macro=PLANNER_MANAGER_STUB_Export \
+ -Wb,stub_export_include=Planner_Manager_stub_export.h \
+ -Wb,skel_export_macro=PLANNER_MANAGER_SVNT_Export \
+ -Wb,skel_export_include=Planner_Manager_svnt_export.h
+ dynamicflags = PLANNER_MANAGER_STUB_BUILD_DLL
+ libs += RACE_common_stub \
+ Planner_Manager_Interface_stub \
+ Planner_Interface_stub \
+ Output_Adapter_Interface_stub
+
+ IDL_Files {
+ Planner_Manager.idl
+ }
+
+ Source_Files {
+ Planner_ManagerC.cpp
+ }
+
+ Header_Files {
+ Planner_ManagerC.h
+ }
+
+ Inline_Files {
+ Planner_ManagerC.inl
+ }
+}
+
+project(Planner_Manager_svnt) : ciao_servant_dnc {
+ after += Planner_Manager_stub \
+ Planner_Manager_Interface_svnt
+ sharedname = Planner_Manager_svnt
+ libs += Planner_Manager_stub \
+ RACE_common_stub \
+ Planner_Manager_Interface_stub \
+ Planner_Manager_Interface_svnt \
+ Planner_Interface_stub \
+ Output_Adapter_Interface_stub
+ idlflags += -Wb,export_macro=PLANNER_MANAGER_SVNT_Export \
+ -Wb,export_include=Planner_Manager_svnt_export.h
+
+ dynamicflags = PLANNER_MANAGER_SVNT_BUILD_DLL
+
+ CIDL_Files {
+ Planner_Manager.cidl
+ }
+
+ IDL_Files {
+ Planner_ManagerE.idl
+ }
+
+ Source_Files {
+ Planner_ManagerEC.cpp
+ Planner_ManagerS.cpp
+ Planner_Manager_svnt.cpp
+ }
+
+ Header_Files {
+ Planner_ManagerEC.h
+ Planner_ManagerS.h
+ Planner_Manager_svnt.h
+ }
+
+ Inline_Files {
+ Planner_ManagerEC.inl
+ Planner_ManagerS.inl
+ Planner_Manager_svnt.inl
+ }
+}
+
+
+project(Planner_Manager_exec) : ciao_component_dnc {
+ after += Planner_Manager_svnt Planner_stub
+ sharedname = Planner_Manager_exec
+ libs += Planner_Manager_stub \
+ Planner_Manager_svnt \
+ RACE_common_stub \
+ Planner_Manager_Interface_stub \
+ Planner_Manager_Interface_svnt \
+ Planner_Interface_stub \
+ Planner_stub \
+ Output_Adapter_Interface_stub
+
+ idlflags += -Wb,export_macro=PLANNER_MANAGER_EXEC_Export \
+ -Wb,export_include=Planner_Manager_exec_export.h
+ dynamicflags = PLANNER_MANAGER_EXEC_BUILD_DLL
+
+ IDL_Files {
+
+ }
+
+ Source_Files {
+ Planner_Manager_exec.cpp
+ }
+}
diff --git a/modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager_exec.cpp b/modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager_exec.cpp
new file mode 100644
index 00000000000..a149a785ce6
--- /dev/null
+++ b/modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager_exec.cpp
@@ -0,0 +1,206 @@
+// $Id$
+//
+// **** Code generated by the ****
+// **** Component Integrated ACE ORB (CIAO) CIDL Compiler ****
+// CIAO has been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// CIDL Compiler has been developed by:
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about CIAO is available at:
+// http://www.dre.vanderbilt.edu/CIAO
+
+#include "Planner_Manager_exec.h"
+#include "ciao/CIAO_common.h"
+
+namespace CIAO
+{
+ namespace RACE
+ {
+ namespace CIDL_Planner_Manager_Impl
+ {
+ //==================================================================
+ // Facet Executor Implementation Class: Planner_Manager_I_exec_i
+ //==================================================================
+
+ Planner_Manager_I_exec_i::Planner_Manager_I_exec_i (void)
+ {
+ }
+
+ Planner_Manager_I_exec_i::~Planner_Manager_I_exec_i (void)
+ {
+ }
+
+ // Operations from ::CIAO::RACE::Planner_Manager_I
+
+ void
+ Planner_Manager_I_exec_i::execute_planners (
+ const ::Deployment::DeploymentPlan & /* plan */,
+ const ::CIAO::RACE::PlannerFlow & /* flow */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ // Your code here.
+ }
+
+ //==================================================================
+ // Component Executor Implementation Class: Planner_Manager_exec_i
+ //==================================================================
+
+ Planner_Manager_exec_i::Planner_Manager_exec_i (void)
+ {
+ }
+
+ Planner_Manager_exec_i::~Planner_Manager_exec_i (void)
+ {
+ }
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ ::CIAO::RACE::RACE_Classifications *
+ Planner_Manager_exec_i::classes ()
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ // Your code here.
+ return 0;
+ }
+
+ // Port operations.
+
+ ::CIAO::RACE::CCM_Planner_Manager_I_ptr
+ Planner_Manager_exec_i::get_planner_manager_i ()
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ // Your code here.
+ return ::CIAO::RACE::CCM_Planner_Manager_I::_nil ();
+ }
+
+ // Operations from Components::SessionComponent
+
+ void
+ Planner_Manager_exec_i::set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ this->context_ =
+ Planner_Manager_Context::_narrow (
+ ctx);
+
+ if (this->context_ == 0)
+ {
+ throw CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ Planner_Manager_exec_i::ciao_preactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ Planner_Manager_exec_i::ciao_postactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ Planner_Manager_exec_i::ccm_activate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ Planner_Manager_exec_i::ccm_passivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ Planner_Manager_exec_i::ccm_remove ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ //==================================================================
+ // Home Executor Implementation Class: Planner_Manager_Home_exec_i
+ //==================================================================
+
+ Planner_Manager_Home_exec_i::Planner_Manager_Home_exec_i (void)
+ {
+ }
+
+ Planner_Manager_Home_exec_i::~Planner_Manager_Home_exec_i (void)
+ {
+ }
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ ::Components::EnterpriseComponent_ptr
+ Planner_Manager_Home_exec_i::create ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_THROW_EX (
+ retval,
+ Planner_Manager_exec_i,
+ CORBA::NO_MEMORY ());
+
+ return retval;
+ }
+
+ extern "C" PLANNER_MANAGER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ createPlanner_Manager_Home_Impl (void)
+ {
+ ::Components::HomeExecutorBase_ptr retval =
+ ::Components::HomeExecutorBase::_nil ();
+
+ ACE_NEW_RETURN (
+ retval,
+ Planner_Manager_Home_exec_i,
+ ::Components::HomeExecutorBase::_nil ());
+
+ return retval;
+ }
+ }
+ }
+}
+
diff --git a/modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager_exec.h b/modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager_exec.h
new file mode 100644
index 00000000000..1ca6114e850
--- /dev/null
+++ b/modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager_exec.h
@@ -0,0 +1,157 @@
+// $Id$
+//
+// **** Code generated by the ****
+// **** Component Integrated ACE ORB (CIAO) CIDL Compiler ****
+// CIAO has been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// CIDL Compiler has been developed by:
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about CIAO is available at:
+// http://www.dre.vanderbilt.edu/CIAO
+
+#ifndef CIAO_PLANNER_MANAGER_EXEC_H
+#define CIAO_PLANNER_MANAGER_EXEC_H
+
+#include /**/ "ace/pre.h"
+
+#include "Planner_Manager_svnt.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "Planner_Manager_exec_export.h"
+#include "tao/LocalObject.h"
+
+namespace CIAO
+{
+ namespace RACE
+ {
+ namespace CIDL_Planner_Manager_Impl
+ {
+ class PLANNER_MANAGER_EXEC_Export Planner_Manager_I_exec_i
+ : public virtual ::CIAO::RACE::CCM_Planner_Manager_I,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ Planner_Manager_I_exec_i (void);
+ virtual ~Planner_Manager_I_exec_i (void);
+
+ // Operations from ::CIAO::RACE::Planner_Manager_I
+
+ virtual void
+ execute_planners (
+ const ::Deployment::DeploymentPlan & plan,
+ const ::CIAO::RACE::PlannerFlow & flow)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ };
+
+ class PLANNER_MANAGER_EXEC_Export Planner_Manager_exec_i
+ : public virtual Planner_Manager_Exec,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ Planner_Manager_exec_i (void);
+ virtual ~Planner_Manager_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ virtual ::CIAO::RACE::RACE_Classifications *
+ classes ()
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Port operations.
+
+ virtual ::CIAO::RACE::CCM_Planner_Manager_I_ptr
+ get_planner_manager_i ()
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Operations from Components::SessionComponent
+
+ virtual void
+ set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ciao_preactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ciao_postactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ccm_activate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ccm_passivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ccm_remove ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ protected:
+ Planner_Manager_Context *context_;
+ };
+
+ class PLANNER_MANAGER_EXEC_Export Planner_Manager_Home_exec_i
+ : public virtual Planner_Manager_Home_Exec,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ Planner_Manager_Home_exec_i (void);
+ virtual ~Planner_Manager_Home_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+ };
+
+ extern "C" PLANNER_MANAGER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ createPlanner_Manager_Home_Impl (void);
+ }
+ }
+}
+
+#include /**/ "ace/post.h"
+
+#endif /* CIAO_PLANNER_MANAGER_EXEC_H */
+
diff --git a/modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager_exec_export.h b/modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager_exec_export.h
new file mode 100644
index 00000000000..776022c36d3
--- /dev/null
+++ b/modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager_exec_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl PLANNER_MANAGER_EXEC
+// ------------------------------
+#ifndef PLANNER_MANAGER_EXEC_EXPORT_H
+#define PLANNER_MANAGER_EXEC_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (PLANNER_MANAGER_EXEC_HAS_DLL)
+# define PLANNER_MANAGER_EXEC_HAS_DLL 1
+#endif /* ! PLANNER_MANAGER_EXEC_HAS_DLL */
+
+#if defined (PLANNER_MANAGER_EXEC_HAS_DLL) && (PLANNER_MANAGER_EXEC_HAS_DLL == 1)
+# if defined (PLANNER_MANAGER_EXEC_BUILD_DLL)
+# define PLANNER_MANAGER_EXEC_Export ACE_Proper_Export_Flag
+# define PLANNER_MANAGER_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define PLANNER_MANAGER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* PLANNER_MANAGER_EXEC_BUILD_DLL */
+# define PLANNER_MANAGER_EXEC_Export ACE_Proper_Import_Flag
+# define PLANNER_MANAGER_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define PLANNER_MANAGER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* PLANNER_MANAGER_EXEC_BUILD_DLL */
+#else /* PLANNER_MANAGER_EXEC_HAS_DLL == 1 */
+# define PLANNER_MANAGER_EXEC_Export
+# define PLANNER_MANAGER_EXEC_SINGLETON_DECLARATION(T)
+# define PLANNER_MANAGER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* PLANNER_MANAGER_EXEC_HAS_DLL == 1 */
+
+// Set PLANNER_MANAGER_EXEC_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (PLANNER_MANAGER_EXEC_NTRACE)
+# if (ACE_NTRACE == 1)
+# define PLANNER_MANAGER_EXEC_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define PLANNER_MANAGER_EXEC_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !PLANNER_MANAGER_EXEC_NTRACE */
+
+#if (PLANNER_MANAGER_EXEC_NTRACE == 1)
+# define PLANNER_MANAGER_EXEC_TRACE(X)
+#else /* (PLANNER_MANAGER_EXEC_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define PLANNER_MANAGER_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (PLANNER_MANAGER_EXEC_NTRACE == 1) */
+
+#endif /* PLANNER_MANAGER_EXEC_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager_stub_export.h b/modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager_stub_export.h
new file mode 100644
index 00000000000..17a15f1cf30
--- /dev/null
+++ b/modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager_stub_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl PLANNER_MANAGER_STUB
+// ------------------------------
+#ifndef PLANNER_MANAGER_STUB_EXPORT_H
+#define PLANNER_MANAGER_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (PLANNER_MANAGER_STUB_HAS_DLL)
+# define PLANNER_MANAGER_STUB_HAS_DLL 1
+#endif /* ! PLANNER_MANAGER_STUB_HAS_DLL */
+
+#if defined (PLANNER_MANAGER_STUB_HAS_DLL) && (PLANNER_MANAGER_STUB_HAS_DLL == 1)
+# if defined (PLANNER_MANAGER_STUB_BUILD_DLL)
+# define PLANNER_MANAGER_STUB_Export ACE_Proper_Export_Flag
+# define PLANNER_MANAGER_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define PLANNER_MANAGER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* PLANNER_MANAGER_STUB_BUILD_DLL */
+# define PLANNER_MANAGER_STUB_Export ACE_Proper_Import_Flag
+# define PLANNER_MANAGER_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define PLANNER_MANAGER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* PLANNER_MANAGER_STUB_BUILD_DLL */
+#else /* PLANNER_MANAGER_STUB_HAS_DLL == 1 */
+# define PLANNER_MANAGER_STUB_Export
+# define PLANNER_MANAGER_STUB_SINGLETON_DECLARATION(T)
+# define PLANNER_MANAGER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* PLANNER_MANAGER_STUB_HAS_DLL == 1 */
+
+// Set PLANNER_MANAGER_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (PLANNER_MANAGER_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define PLANNER_MANAGER_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define PLANNER_MANAGER_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !PLANNER_MANAGER_STUB_NTRACE */
+
+#if (PLANNER_MANAGER_STUB_NTRACE == 1)
+# define PLANNER_MANAGER_STUB_TRACE(X)
+#else /* (PLANNER_MANAGER_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define PLANNER_MANAGER_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (PLANNER_MANAGER_STUB_NTRACE == 1) */
+
+#endif /* PLANNER_MANAGER_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager_svnt_export.h b/modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager_svnt_export.h
new file mode 100644
index 00000000000..bdc3cfac970
--- /dev/null
+++ b/modules/CIAO/RACE/Planner_Manager/Component/Planner_Manager_svnt_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl PLANNER_MANAGER_SVNT
+// ------------------------------
+#ifndef PLANNER_MANAGER_SVNT_EXPORT_H
+#define PLANNER_MANAGER_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (PLANNER_MANAGER_SVNT_HAS_DLL)
+# define PLANNER_MANAGER_SVNT_HAS_DLL 1
+#endif /* ! PLANNER_MANAGER_SVNT_HAS_DLL */
+
+#if defined (PLANNER_MANAGER_SVNT_HAS_DLL) && (PLANNER_MANAGER_SVNT_HAS_DLL == 1)
+# if defined (PLANNER_MANAGER_SVNT_BUILD_DLL)
+# define PLANNER_MANAGER_SVNT_Export ACE_Proper_Export_Flag
+# define PLANNER_MANAGER_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define PLANNER_MANAGER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* PLANNER_MANAGER_SVNT_BUILD_DLL */
+# define PLANNER_MANAGER_SVNT_Export ACE_Proper_Import_Flag
+# define PLANNER_MANAGER_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define PLANNER_MANAGER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* PLANNER_MANAGER_SVNT_BUILD_DLL */
+#else /* PLANNER_MANAGER_SVNT_HAS_DLL == 1 */
+# define PLANNER_MANAGER_SVNT_Export
+# define PLANNER_MANAGER_SVNT_SINGLETON_DECLARATION(T)
+# define PLANNER_MANAGER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* PLANNER_MANAGER_SVNT_HAS_DLL == 1 */
+
+// Set PLANNER_MANAGER_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (PLANNER_MANAGER_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define PLANNER_MANAGER_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define PLANNER_MANAGER_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !PLANNER_MANAGER_SVNT_NTRACE */
+
+#if (PLANNER_MANAGER_SVNT_NTRACE == 1)
+# define PLANNER_MANAGER_SVNT_TRACE(X)
+#else /* (PLANNER_MANAGER_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define PLANNER_MANAGER_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (PLANNER_MANAGER_SVNT_NTRACE == 1) */
+
+#endif /* PLANNER_MANAGER_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Planner_Manager/Interface/Planner_Manager_I.idl b/modules/CIAO/RACE/Planner_Manager/Interface/Planner_Manager_I.idl
new file mode 100644
index 00000000000..7ad88444a52
--- /dev/null
+++ b/modules/CIAO/RACE/Planner_Manager/Interface/Planner_Manager_I.idl
@@ -0,0 +1,24 @@
+//$Id$
+#ifndef RACE_PLANNER_MANAGER_I_IDL
+#define RACE_PLANNER_MANAGER_I_IDL
+
+#ifndef INCLUDED_DEPLOYMENT_DATA
+#define INCLUDED_DEPLOYMENT_DATA
+#include "Deployment_DeploymentPlan.idl"
+#endif
+
+#include "../../common/RACE_common.idl"
+
+module CIAO
+{
+ module RACE
+ {
+ interface Planner_Manager_I
+ {
+ void execute_planners (in Deployment::DeploymentPlan plan,
+ in PlannerFlow flow);
+ };
+ };
+};
+
+#endif /* RACE_PLANNER_MANAGER_I_IDL */
diff --git a/modules/CIAO/RACE/Planner_Manager/Interface/Planner_Manager_Interface.mpc b/modules/CIAO/RACE/Planner_Manager/Interface/Planner_Manager_Interface.mpc
new file mode 100644
index 00000000000..fb145b6fc6d
--- /dev/null
+++ b/modules/CIAO/RACE/Planner_Manager/Interface/Planner_Manager_Interface.mpc
@@ -0,0 +1,60 @@
+// generate_component_mpc.pl,v 1.9 2003/12/22 21:56:27 boris Exp
+//$Id$
+// This file is generated with "generate_component_mpc.pl -n Planner_Manager_Interface"
+
+project(Planner_Manager_Interface_stub): ciao_deployment_stub, anytypecode {
+
+ sharedname = Planner_Manager_Interface_stub
+ after += RACE_common_stub
+ idlflags += -Wb,stub_export_macro=PLANNER_MANAGER_INTERFACE_STUB_Export \
+ -Wb,stub_export_include=Planner_Manager_Interface_stub_export.h \
+ -Wb,skel_export_macro=PLANNER_MANAGER_INTERFACE_SVNT_Export \
+ -Wb,skel_export_include=Planner_Manager_Interface_svnt_export.h
+ dynamicflags = PLANNER_MANAGER_INTERFACE_STUB_BUILD_DLL
+ libs += RACE_common_stub
+
+ IDL_Files {
+ Planner_Manager_I.idl
+ }
+
+ Source_Files {
+ Planner_Manager_IC.cpp
+ }
+
+ Header_Files {
+ Planner_Manager_IC.h
+ }
+
+ Inline_Files {
+ Planner_Manager_IC.inl
+ }
+}
+
+project(Planner_Manager_Interface_svnt) : ciao_servant_dnc {
+
+ after += Planner_Manager_Interface_stub
+ sharedname = Planner_Manager_Interface_svnt
+ libs += Planner_Manager_Interface_stub RACE_common_stub
+
+ idlflags += -Wb,stub_export_macro=PLANNER_MANAGER_INTERFACE_STUB_Export \
+ -Wb,stub_export_include=Planner_Manager_Interface_stub_export.h \
+ -Wb,skel_export_macro=PLANNER_MANAGER_INTERFACE_SVNT_Export \
+ -Wb,skel_export_include=Planner_Manager_Interface_svnt_export.h
+ dynamicflags = PLANNER_MANAGER_INTERFACE_SVNT_BUILD_DLL
+
+ IDL_Files {
+ Planner_Manager_I.idl
+ }
+
+ Source_Files {
+ Planner_Manager_IS.cpp
+ }
+
+ Header_Files {
+ Planner_Manager_IS.h
+ }
+
+ Inline_Files {
+ Planner_Manager_IS.inl
+ }
+}
diff --git a/modules/CIAO/RACE/Planner_Manager/Interface/Planner_Manager_Interface_stub_export.h b/modules/CIAO/RACE/Planner_Manager/Interface/Planner_Manager_Interface_stub_export.h
new file mode 100644
index 00000000000..32a583b5346
--- /dev/null
+++ b/modules/CIAO/RACE/Planner_Manager/Interface/Planner_Manager_Interface_stub_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl PLANNER_MANAGER_INTERFACE_STUB
+// ------------------------------
+#ifndef PLANNER_MANAGER_INTERFACE_STUB_EXPORT_H
+#define PLANNER_MANAGER_INTERFACE_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (PLANNER_MANAGER_INTERFACE_STUB_HAS_DLL)
+# define PLANNER_MANAGER_INTERFACE_STUB_HAS_DLL 1
+#endif /* ! PLANNER_MANAGER_INTERFACE_STUB_HAS_DLL */
+
+#if defined (PLANNER_MANAGER_INTERFACE_STUB_HAS_DLL) && (PLANNER_MANAGER_INTERFACE_STUB_HAS_DLL == 1)
+# if defined (PLANNER_MANAGER_INTERFACE_STUB_BUILD_DLL)
+# define PLANNER_MANAGER_INTERFACE_STUB_Export ACE_Proper_Export_Flag
+# define PLANNER_MANAGER_INTERFACE_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define PLANNER_MANAGER_INTERFACE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* PLANNER_MANAGER_INTERFACE_STUB_BUILD_DLL */
+# define PLANNER_MANAGER_INTERFACE_STUB_Export ACE_Proper_Import_Flag
+# define PLANNER_MANAGER_INTERFACE_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define PLANNER_MANAGER_INTERFACE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* PLANNER_MANAGER_INTERFACE_STUB_BUILD_DLL */
+#else /* PLANNER_MANAGER_INTERFACE_STUB_HAS_DLL == 1 */
+# define PLANNER_MANAGER_INTERFACE_STUB_Export
+# define PLANNER_MANAGER_INTERFACE_STUB_SINGLETON_DECLARATION(T)
+# define PLANNER_MANAGER_INTERFACE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* PLANNER_MANAGER_INTERFACE_STUB_HAS_DLL == 1 */
+
+// Set PLANNER_MANAGER_INTERFACE_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (PLANNER_MANAGER_INTERFACE_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define PLANNER_MANAGER_INTERFACE_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define PLANNER_MANAGER_INTERFACE_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !PLANNER_MANAGER_INTERFACE_STUB_NTRACE */
+
+#if (PLANNER_MANAGER_INTERFACE_STUB_NTRACE == 1)
+# define PLANNER_MANAGER_INTERFACE_STUB_TRACE(X)
+#else /* (PLANNER_MANAGER_INTERFACE_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define PLANNER_MANAGER_INTERFACE_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (PLANNER_MANAGER_INTERFACE_STUB_NTRACE == 1) */
+
+#endif /* PLANNER_MANAGER_INTERFACE_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Planner_Manager/Interface/Planner_Manager_Interface_svnt_export.h b/modules/CIAO/RACE/Planner_Manager/Interface/Planner_Manager_Interface_svnt_export.h
new file mode 100644
index 00000000000..6e554a1d5ed
--- /dev/null
+++ b/modules/CIAO/RACE/Planner_Manager/Interface/Planner_Manager_Interface_svnt_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl PLANNER_MANAGER_INTERFACE_SVNT
+// ------------------------------
+#ifndef PLANNER_MANAGER_INTERFACE_SVNT_EXPORT_H
+#define PLANNER_MANAGER_INTERFACE_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (PLANNER_MANAGER_INTERFACE_SVNT_HAS_DLL)
+# define PLANNER_MANAGER_INTERFACE_SVNT_HAS_DLL 1
+#endif /* ! PLANNER_MANAGER_INTERFACE_SVNT_HAS_DLL */
+
+#if defined (PLANNER_MANAGER_INTERFACE_SVNT_HAS_DLL) && (PLANNER_MANAGER_INTERFACE_SVNT_HAS_DLL == 1)
+# if defined (PLANNER_MANAGER_INTERFACE_SVNT_BUILD_DLL)
+# define PLANNER_MANAGER_INTERFACE_SVNT_Export ACE_Proper_Export_Flag
+# define PLANNER_MANAGER_INTERFACE_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define PLANNER_MANAGER_INTERFACE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* PLANNER_MANAGER_INTERFACE_SVNT_BUILD_DLL */
+# define PLANNER_MANAGER_INTERFACE_SVNT_Export ACE_Proper_Import_Flag
+# define PLANNER_MANAGER_INTERFACE_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define PLANNER_MANAGER_INTERFACE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* PLANNER_MANAGER_INTERFACE_SVNT_BUILD_DLL */
+#else /* PLANNER_MANAGER_INTERFACE_SVNT_HAS_DLL == 1 */
+# define PLANNER_MANAGER_INTERFACE_SVNT_Export
+# define PLANNER_MANAGER_INTERFACE_SVNT_SINGLETON_DECLARATION(T)
+# define PLANNER_MANAGER_INTERFACE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* PLANNER_MANAGER_INTERFACE_SVNT_HAS_DLL == 1 */
+
+// Set PLANNER_MANAGER_INTERFACE_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (PLANNER_MANAGER_INTERFACE_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define PLANNER_MANAGER_INTERFACE_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define PLANNER_MANAGER_INTERFACE_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !PLANNER_MANAGER_INTERFACE_SVNT_NTRACE */
+
+#if (PLANNER_MANAGER_INTERFACE_SVNT_NTRACE == 1)
+# define PLANNER_MANAGER_INTERFACE_SVNT_TRACE(X)
+#else /* (PLANNER_MANAGER_INTERFACE_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define PLANNER_MANAGER_INTERFACE_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (PLANNER_MANAGER_INTERFACE_SVNT_NTRACE == 1) */
+
+#endif /* PLANNER_MANAGER_INTERFACE_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Planners/Base/Planner.idl b/modules/CIAO/RACE/Planners/Base/Planner.idl
new file mode 100644
index 00000000000..ae81074d5e7
--- /dev/null
+++ b/modules/CIAO/RACE/Planners/Base/Planner.idl
@@ -0,0 +1,24 @@
+// $Id$
+#ifndef RACE_PLANNER_IDL
+#define RACE_PLANNER_IDL
+
+#include <Components.idl>
+#include "../Interface/Planner_I.idl"
+#include "../../common/RACE_common.idl"
+
+module CIAO
+{
+
+ module RACE
+ {
+ component Planner
+ {
+ provides Planner_I planner_i;
+ attribute string name;
+ attribute RACE_Classification type;
+ };
+ };
+
+};
+
+#endif /* RACE_PLANNER_IDL */
diff --git a/modules/CIAO/RACE/Planners/Base/Planner.mpc b/modules/CIAO/RACE/Planners/Base/Planner.mpc
new file mode 100644
index 00000000000..698cb689cb5
--- /dev/null
+++ b/modules/CIAO/RACE/Planners/Base/Planner.mpc
@@ -0,0 +1,60 @@
+// generate_component_mpc.pl,v 1.9 2003/12/22 21:56:27 boris Exp
+//$Id$
+// This file is generated with "generate_component_mpc.pl -n Planner"
+
+project(Planner_stub): ciao_deployment_stub {
+
+ after += Planner_Interface_stub RACE_common_stub
+ sharedname = Planner_stub
+ idlflags += -Wb,stub_export_macro=PLANNER_STUB_Export \
+ -Wb,stub_export_include=Planner_stub_export.h \
+ -Wb,skel_export_macro=PLANNER_SVNT_Export \
+ -Wb,skel_export_include=Planner_svnt_export.h
+ dynamicflags = PLANNER_STUB_BUILD_DLL
+ libs += Planner_Interface_stub RACE_common_stub
+
+ IDL_Files {
+ Planner.idl
+ }
+
+ Source_Files {
+ PlannerC.cpp
+ }
+
+ Header_Files {
+ PlannerC.h
+ }
+
+ Inline_Files {
+ PlannerC.inl
+ }
+}
+
+project(Planner_svnt) : ciao_servant_dnc {
+
+ after += Planner_Interface_svnt Planner_stub
+ sharedname = Planner_svnt
+ libs += Planner_Interface_stub Planner_Interface_svnt Planner_stub RACE_common_stub
+
+ idlflags += -Wb,stub_export_macro=PLANNER_STUB_Export \
+ -Wb,stub_export_include=Planner_stub_export.h \
+ -Wb,skel_export_macro=PLANNER_SVNT_Export \
+ -Wb,skel_export_include=Planner_svnt_export.h
+ dynamicflags = PLANNER_SVNT_BUILD_DLL
+
+ IDL_Files {
+ Planner.idl
+ }
+
+ Source_Files {
+ PlannerS.cpp
+ }
+
+ Header_Files {
+ PlannerS.h
+ }
+
+ Inline_Files {
+ PlannerS.inl
+ }
+}
diff --git a/modules/CIAO/RACE/Planners/Base/Planner_stub_export.h b/modules/CIAO/RACE/Planners/Base/Planner_stub_export.h
new file mode 100644
index 00000000000..d9c9c352052
--- /dev/null
+++ b/modules/CIAO/RACE/Planners/Base/Planner_stub_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl PLANNER_STUB
+// ------------------------------
+#ifndef PLANNER_STUB_EXPORT_H
+#define PLANNER_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (PLANNER_STUB_HAS_DLL)
+# define PLANNER_STUB_HAS_DLL 1
+#endif /* ! PLANNER_STUB_HAS_DLL */
+
+#if defined (PLANNER_STUB_HAS_DLL) && (PLANNER_STUB_HAS_DLL == 1)
+# if defined (PLANNER_STUB_BUILD_DLL)
+# define PLANNER_STUB_Export ACE_Proper_Export_Flag
+# define PLANNER_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define PLANNER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* PLANNER_STUB_BUILD_DLL */
+# define PLANNER_STUB_Export ACE_Proper_Import_Flag
+# define PLANNER_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define PLANNER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* PLANNER_STUB_BUILD_DLL */
+#else /* PLANNER_STUB_HAS_DLL == 1 */
+# define PLANNER_STUB_Export
+# define PLANNER_STUB_SINGLETON_DECLARATION(T)
+# define PLANNER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* PLANNER_STUB_HAS_DLL == 1 */
+
+// Set PLANNER_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (PLANNER_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define PLANNER_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define PLANNER_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !PLANNER_STUB_NTRACE */
+
+#if (PLANNER_STUB_NTRACE == 1)
+# define PLANNER_STUB_TRACE(X)
+#else /* (PLANNER_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define PLANNER_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (PLANNER_STUB_NTRACE == 1) */
+
+#endif /* PLANNER_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Planners/Base/Planner_svnt_export.h b/modules/CIAO/RACE/Planners/Base/Planner_svnt_export.h
new file mode 100644
index 00000000000..1773748e72b
--- /dev/null
+++ b/modules/CIAO/RACE/Planners/Base/Planner_svnt_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl PLANNER_SVNT
+// ------------------------------
+#ifndef PLANNER_SVNT_EXPORT_H
+#define PLANNER_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (PLANNER_SVNT_HAS_DLL)
+# define PLANNER_SVNT_HAS_DLL 1
+#endif /* ! PLANNER_SVNT_HAS_DLL */
+
+#if defined (PLANNER_SVNT_HAS_DLL) && (PLANNER_SVNT_HAS_DLL == 1)
+# if defined (PLANNER_SVNT_BUILD_DLL)
+# define PLANNER_SVNT_Export ACE_Proper_Export_Flag
+# define PLANNER_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define PLANNER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* PLANNER_SVNT_BUILD_DLL */
+# define PLANNER_SVNT_Export ACE_Proper_Import_Flag
+# define PLANNER_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define PLANNER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* PLANNER_SVNT_BUILD_DLL */
+#else /* PLANNER_SVNT_HAS_DLL == 1 */
+# define PLANNER_SVNT_Export
+# define PLANNER_SVNT_SINGLETON_DECLARATION(T)
+# define PLANNER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* PLANNER_SVNT_HAS_DLL == 1 */
+
+// Set PLANNER_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (PLANNER_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define PLANNER_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define PLANNER_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !PLANNER_SVNT_NTRACE */
+
+#if (PLANNER_SVNT_NTRACE == 1)
+# define PLANNER_SVNT_TRACE(X)
+#else /* (PLANNER_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define PLANNER_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (PLANNER_SVNT_NTRACE == 1) */
+
+#endif /* PLANNER_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Planners/Interface/Planner_I.idl b/modules/CIAO/RACE/Planners/Interface/Planner_I.idl
new file mode 100644
index 00000000000..954a61f5269
--- /dev/null
+++ b/modules/CIAO/RACE/Planners/Interface/Planner_I.idl
@@ -0,0 +1,22 @@
+// $Id$
+#ifndef RACE_PLANNER_I_IDL
+#define RACE_PLANNER_I_IDL
+
+#ifndef INCLUDED_DEPLOYMENT_DATA
+#define INCLUDED_DEPLOYMENT_DATA
+#include "Deployment_DeploymentPlan.idl"
+#endif
+
+module CIAO
+{
+
+ module RACE
+ {
+ interface Planner_I
+ {
+ boolean process_plan (inout Deployment::DeploymentPlan plan);
+ };
+ };
+};
+
+#endif /* RACE_PLANNER_I_IDL */
diff --git a/modules/CIAO/RACE/Planners/Interface/Planner_Interface.mpc b/modules/CIAO/RACE/Planners/Interface/Planner_Interface.mpc
new file mode 100644
index 00000000000..3549de0fa64
--- /dev/null
+++ b/modules/CIAO/RACE/Planners/Interface/Planner_Interface.mpc
@@ -0,0 +1,58 @@
+// generate_component_mpc.pl,v 1.9 2003/12/22 21:56:27 boris Exp
+//$Id$
+// This file is generated with "generate_component_mpc.pl -n Planner_I"
+
+project(Planner_Interface_stub): ciao_deployment_stub {
+
+ sharedname = Planner_Interface_stub
+ idlflags += -Wb,stub_export_macro=PLANNER_INTERFACE_STUB_Export \
+ -Wb,stub_export_include=Planner_Interface_stub_export.h \
+ -Wb,skel_export_macro=PLANNER_INTERFACE_SVNT_Export \
+ -Wb,skel_export_include=Planner_Interface_svnt_export.h
+ dynamicflags = PLANNER_INTERFACE_STUB_BUILD_DLL
+
+ IDL_Files {
+ Planner_I.idl
+ }
+
+ Source_Files {
+ Planner_IC.cpp
+ }
+
+ Header_Files {
+ Planner_IC.h
+ }
+
+ Inline_Files {
+ Planner_IC.inl
+ }
+}
+
+project(Planner_Interface_svnt) : ciao_servant_dnc {
+
+ after += Planner_Interface_stub
+ sharedname = Planner_Interface_svnt
+ libs += Planner_Interface_stub
+
+ idlflags += -Wb,stub_export_macro=PLANNER_INTERFACE_STUB_Export \
+ -Wb,stub_export_include=Planner_Interface_stub_export.h \
+ -Wb,skel_export_macro=PLANNER_INTERFACE_SVNT_Export \
+ -Wb,skel_export_include=Planner_Interface_svnt_export.h
+ dynamicflags = PLANNER_INTERFACE_SVNT_BUILD_DLL
+
+ IDL_Files {
+ Planner_I.idl
+ }
+
+ Source_Files {
+ Planner_IS.cpp
+ }
+
+ Header_Files {
+ Planner_IS.h
+ }
+
+ Inline_Files {
+ Planner_IS.inl
+ }
+}
diff --git a/modules/CIAO/RACE/Planners/Interface/Planner_Interface_stub_export.h b/modules/CIAO/RACE/Planners/Interface/Planner_Interface_stub_export.h
new file mode 100644
index 00000000000..70e6da56ba0
--- /dev/null
+++ b/modules/CIAO/RACE/Planners/Interface/Planner_Interface_stub_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl PLANNER_INTERFACE_STUB
+// ------------------------------
+#ifndef PLANNER_INTERFACE_STUB_EXPORT_H
+#define PLANNER_INTERFACE_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (PLANNER_INTERFACE_STUB_HAS_DLL)
+# define PLANNER_INTERFACE_STUB_HAS_DLL 1
+#endif /* ! PLANNER_INTERFACE_STUB_HAS_DLL */
+
+#if defined (PLANNER_INTERFACE_STUB_HAS_DLL) && (PLANNER_INTERFACE_STUB_HAS_DLL == 1)
+# if defined (PLANNER_INTERFACE_STUB_BUILD_DLL)
+# define PLANNER_INTERFACE_STUB_Export ACE_Proper_Export_Flag
+# define PLANNER_INTERFACE_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define PLANNER_INTERFACE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* PLANNER_INTERFACE_STUB_BUILD_DLL */
+# define PLANNER_INTERFACE_STUB_Export ACE_Proper_Import_Flag
+# define PLANNER_INTERFACE_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define PLANNER_INTERFACE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* PLANNER_INTERFACE_STUB_BUILD_DLL */
+#else /* PLANNER_INTERFACE_STUB_HAS_DLL == 1 */
+# define PLANNER_INTERFACE_STUB_Export
+# define PLANNER_INTERFACE_STUB_SINGLETON_DECLARATION(T)
+# define PLANNER_INTERFACE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* PLANNER_INTERFACE_STUB_HAS_DLL == 1 */
+
+// Set PLANNER_INTERFACE_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (PLANNER_INTERFACE_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define PLANNER_INTERFACE_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define PLANNER_INTERFACE_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !PLANNER_INTERFACE_STUB_NTRACE */
+
+#if (PLANNER_INTERFACE_STUB_NTRACE == 1)
+# define PLANNER_INTERFACE_STUB_TRACE(X)
+#else /* (PLANNER_INTERFACE_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define PLANNER_INTERFACE_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (PLANNER_INTERFACE_STUB_NTRACE == 1) */
+
+#endif /* PLANNER_INTERFACE_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Planners/Interface/Planner_Interface_svnt_export.h b/modules/CIAO/RACE/Planners/Interface/Planner_Interface_svnt_export.h
new file mode 100644
index 00000000000..5ff8283551c
--- /dev/null
+++ b/modules/CIAO/RACE/Planners/Interface/Planner_Interface_svnt_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl PLANNER_INTERFACE_SVNT
+// ------------------------------
+#ifndef PLANNER_INTERFACE_SVNT_EXPORT_H
+#define PLANNER_INTERFACE_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (PLANNER_INTERFACE_SVNT_HAS_DLL)
+# define PLANNER_INTERFACE_SVNT_HAS_DLL 1
+#endif /* ! PLANNER_INTERFACE_SVNT_HAS_DLL */
+
+#if defined (PLANNER_INTERFACE_SVNT_HAS_DLL) && (PLANNER_INTERFACE_SVNT_HAS_DLL == 1)
+# if defined (PLANNER_INTERFACE_SVNT_BUILD_DLL)
+# define PLANNER_INTERFACE_SVNT_Export ACE_Proper_Export_Flag
+# define PLANNER_INTERFACE_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define PLANNER_INTERFACE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* PLANNER_INTERFACE_SVNT_BUILD_DLL */
+# define PLANNER_INTERFACE_SVNT_Export ACE_Proper_Import_Flag
+# define PLANNER_INTERFACE_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define PLANNER_INTERFACE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* PLANNER_INTERFACE_SVNT_BUILD_DLL */
+#else /* PLANNER_INTERFACE_SVNT_HAS_DLL == 1 */
+# define PLANNER_INTERFACE_SVNT_Export
+# define PLANNER_INTERFACE_SVNT_SINGLETON_DECLARATION(T)
+# define PLANNER_INTERFACE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* PLANNER_INTERFACE_SVNT_HAS_DLL == 1 */
+
+// Set PLANNER_INTERFACE_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (PLANNER_INTERFACE_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define PLANNER_INTERFACE_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define PLANNER_INTERFACE_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !PLANNER_INTERFACE_SVNT_NTRACE */
+
+#if (PLANNER_INTERFACE_SVNT_NTRACE == 1)
+# define PLANNER_INTERFACE_SVNT_TRACE(X)
+#else /* (PLANNER_INTERFACE_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define PLANNER_INTERFACE_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (PLANNER_INTERFACE_SVNT_NTRACE == 1) */
+
+#endif /* PLANNER_INTERFACE_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker.cidl b/modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker.cidl
new file mode 100644
index 00000000000..a3ddd75b824
--- /dev/null
+++ b/modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker.cidl
@@ -0,0 +1,25 @@
+//SimpleBinPacker.cidl
+// $Id$
+
+#ifndef RACE_SIMPLE_BIN_PACKER_CIDL
+#define RACE_SIMPLE_BIN_PACKER_CIDL
+
+#include "SimpleBinPacker.idl"
+
+module CIAO
+{
+ module RACE
+ {
+ composition session SimpleBinPacker_Impl
+ {
+ home executor SimpleBinPacker_Home_Exec
+ {
+ implements RACE::SimpleBinPacker_Home;
+ manages SimpleBinPacker_Exec;
+ };
+ };
+ };
+};
+
+
+#endif /* RACE_SIMPLE_BIN_PACKER_CIDL */
diff --git a/modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker.idl b/modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker.idl
new file mode 100644
index 00000000000..bb1a67e4a79
--- /dev/null
+++ b/modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker.idl
@@ -0,0 +1,23 @@
+//$Id$
+
+#ifndef RACE_SIMPLE_BIN_PACKER_IDL
+#define RACE_SIMPLE_BIN_PACKER_IDL
+
+#include <Components.idl>
+#include "../Base/Planner.idl"
+
+module CIAO
+{
+ module RACE
+ {
+ component SimpleBinPacker : Planner
+ {
+ };
+
+ home SimpleBinPacker_Home manages SimpleBinPacker
+ {
+ };
+ };
+};
+
+#endif /* RACE_SIMPLE_BIN_PACKER_IDL */
diff --git a/modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker.mpc b/modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker.mpc
new file mode 100644
index 00000000000..149f735b073
--- /dev/null
+++ b/modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker.mpc
@@ -0,0 +1,100 @@
+// generate_component_mpc.pl,v 1.9 2003/12/22 21:56:27 boris Exp
+//$Id$
+// This file is generated with "generate_component_mpc.pl -p Planner_Interface SimpleBinPacker"
+
+project(SimpleBinPacker_stub): ciao_deployment_stub {
+ avoids += ace_for_tao
+ after += Planner_Interface_stub Planner_stub
+ sharedname = SimpleBinPacker_stub
+ idlflags += -Wb,stub_export_macro=SIMPLEBINPACKER_STUB_Export \
+ -Wb,stub_export_include=SimpleBinPacker_stub_export.h \
+ -Wb,skel_export_macro=SIMPLEBINPACKER_SVNT_Export \
+ -Wb,skel_export_include=SimpleBinPacker_svnt_export.h
+ dynamicflags = SIMPLEBINPACKER_STUB_BUILD_DLL
+ libs += Planner_Interface_stub Planner_stub RACE_common_stub
+
+ IDL_Files {
+ SimpleBinPacker.idl
+ }
+
+ Source_Files {
+ SimpleBinPackerC.cpp
+ }
+
+ Header_Files {
+ SimpleBinPackerC.h
+ }
+
+ Inline_Files {
+ SimpleBinPackerC.inl
+ }
+}
+
+project(SimpleBinPacker_svnt) : ciao_servant_dnc {
+ after += Planner_Interface_svnt \
+ SimpleBinPacker_stub \
+ Planner_svnt
+ sharedname = SimpleBinPacker_svnt
+ libs += SimpleBinPacker_stub \
+ Planner_Interface_stub \
+ Planner_Interface_svnt \
+ Planner_stub \
+ Planner_svnt \
+ RACE_common_stub
+ idlflags += -Wb,export_macro=SIMPLEBINPACKER_SVNT_Export \
+ -Wb,export_include=SimpleBinPacker_svnt_export.h
+
+ dynamicflags = SIMPLEBINPACKER_SVNT_BUILD_DLL
+
+ CIDL_Files {
+ SimpleBinPacker.cidl
+ }
+
+ IDL_Files {
+ SimpleBinPackerE.idl
+ }
+
+ Source_Files {
+ SimpleBinPackerEC.cpp
+ SimpleBinPackerS.cpp
+ SimpleBinPacker_svnt.cpp
+ }
+
+ Header_Files {
+ SimpleBinPackerEC.h
+ SimpleBinPackerS.h
+ SimpleBinPacker_svnt.h
+ }
+
+ Inline_Files {
+ SimpleBinPackerEC.inl
+ SimpleBinPackerS.inl
+ SimpleBinPacker_svnt.inl
+ }
+}
+
+
+project(SimpleBinPacker_exec) : ciao_component_dnc {
+ avoids += ace_for_tao
+ after += SimpleBinPacker_svnt
+ sharedname = SimpleBinPacker_exec
+ libs += SimpleBinPacker_stub \
+ SimpleBinPacker_svnt \
+ Planner_Interface_stub \
+ Planner_Interface_svnt \
+ Planner_stub \
+ Planner_svnt \
+ RACE_common_stub
+
+ idlflags += -Wb,export_macro=SIMPLEBINPACKER_EXEC_Export \
+ -Wb,export_include=SimpleBinPacker_exec_export.h
+ dynamicflags = SIMPLEBINPACKER_EXEC_BUILD_DLL
+
+ IDL_Files {
+
+ }
+
+ Source_Files {
+ SimpleBinPacker_exec.cpp
+ }
+}
diff --git a/modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker_exec.cpp b/modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker_exec.cpp
new file mode 100644
index 00000000000..ad3370c4366
--- /dev/null
+++ b/modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker_exec.cpp
@@ -0,0 +1,230 @@
+// $Id$
+//
+// **** Code generated by the ****
+// **** Component Integrated ACE ORB (CIAO) CIDL Compiler ****
+// CIAO has been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// CIDL Compiler has been developed by:
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about CIAO is available at:
+// http://www.dre.vanderbilt.edu/CIAO
+
+#include "SimpleBinPacker_exec.h"
+#include "ciao/CIAO_common.h"
+
+namespace CIAO
+{
+ namespace RACE
+ {
+ namespace CIDL_SimpleBinPacker_Impl
+ {
+ //==================================================================
+ // Facet Executor Implementation Class: Planner_I_exec_i
+ //==================================================================
+
+ Planner_I_exec_i::Planner_I_exec_i (void)
+ {
+ }
+
+ Planner_I_exec_i::~Planner_I_exec_i (void)
+ {
+ }
+
+ // Operations from ::CIAO::RACE::Planner_I
+
+ ::CORBA::Boolean
+ Planner_I_exec_i::process_plan (
+ ::Deployment::DeploymentPlan & /* plan */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ // Your code here.
+ return false;
+ }
+
+ //==================================================================
+ // Component Executor Implementation Class: SimpleBinPacker_exec_i
+ //==================================================================
+
+ SimpleBinPacker_exec_i::SimpleBinPacker_exec_i (void)
+ {
+ }
+
+ SimpleBinPacker_exec_i::~SimpleBinPacker_exec_i (void)
+ {
+ }
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ char *
+ SimpleBinPacker_exec_i::name ()
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ // Your code here.
+ return 0;
+ }
+
+ void
+ SimpleBinPacker_exec_i::name (
+ const char * /* name */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ // Your code here.
+ }
+
+ char *
+ SimpleBinPacker_exec_i::type ()
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ // Your code here.
+ return 0;
+ }
+
+ void
+ SimpleBinPacker_exec_i::type (
+ const char * /* type */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ // Your code here.
+ }
+
+ // Port operations.
+
+ ::CIAO::RACE::CCM_Planner_I_ptr
+ SimpleBinPacker_exec_i::get_planner_i ()
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ // Your code here.
+ return ::CIAO::RACE::CCM_Planner_I::_nil ();
+ }
+
+ // Operations from Components::SessionComponent
+
+ void
+ SimpleBinPacker_exec_i::set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ this->context_ =
+ SimpleBinPacker_Context::_narrow (
+ ctx);
+
+ if (this->context_ == 0)
+ {
+ throw CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ SimpleBinPacker_exec_i::ciao_preactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ SimpleBinPacker_exec_i::ciao_postactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ SimpleBinPacker_exec_i::ccm_activate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ SimpleBinPacker_exec_i::ccm_passivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ SimpleBinPacker_exec_i::ccm_remove ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ //==================================================================
+ // Home Executor Implementation Class: SimpleBinPacker_Home_exec_i
+ //==================================================================
+
+ SimpleBinPacker_Home_exec_i::SimpleBinPacker_Home_exec_i (void)
+ {
+ }
+
+ SimpleBinPacker_Home_exec_i::~SimpleBinPacker_Home_exec_i (void)
+ {
+ }
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ ::Components::EnterpriseComponent_ptr
+ SimpleBinPacker_Home_exec_i::create ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_THROW_EX (
+ retval,
+ SimpleBinPacker_exec_i,
+ CORBA::NO_MEMORY ());
+
+ return retval;
+ }
+
+ extern "C" SIMPLEBINPACKER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ createSimpleBinPacker_Home_Impl (void)
+ {
+ ::Components::HomeExecutorBase_ptr retval =
+ ::Components::HomeExecutorBase::_nil ();
+
+ ACE_NEW_RETURN (
+ retval,
+ SimpleBinPacker_Home_exec_i,
+ ::Components::HomeExecutorBase::_nil ());
+
+ return retval;
+ }
+ }
+ }
+}
+
diff --git a/modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker_exec.h b/modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker_exec.h
new file mode 100644
index 00000000000..b0b70703c79
--- /dev/null
+++ b/modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker_exec.h
@@ -0,0 +1,170 @@
+// $Id$
+//
+// **** Code generated by the ****
+// **** Component Integrated ACE ORB (CIAO) CIDL Compiler ****
+// CIAO has been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// CIDL Compiler has been developed by:
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about CIAO is available at:
+// http://www.dre.vanderbilt.edu/CIAO
+
+#ifndef CIAO_SIMPLEBINPACKER_EXEC_H
+#define CIAO_SIMPLEBINPACKER_EXEC_H
+
+#include /**/ "ace/pre.h"
+
+#include "SimpleBinPacker_svnt.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "SimpleBinPacker_exec_export.h"
+#include "tao/LocalObject.h"
+
+namespace CIAO
+{
+ namespace RACE
+ {
+ namespace CIDL_SimpleBinPacker_Impl
+ {
+ class SIMPLEBINPACKER_EXEC_Export Planner_I_exec_i
+ : public virtual ::CIAO::RACE::CCM_Planner_I,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ Planner_I_exec_i (void);
+ virtual ~Planner_I_exec_i (void);
+
+ // Operations from ::CIAO::RACE::Planner_I
+
+ virtual ::CORBA::Boolean
+ process_plan (
+ ::Deployment::DeploymentPlan & plan)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ };
+
+ class SIMPLEBINPACKER_EXEC_Export SimpleBinPacker_exec_i
+ : public virtual SimpleBinPacker_Exec,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ SimpleBinPacker_exec_i (void);
+ virtual ~SimpleBinPacker_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ virtual char *
+ name ()
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void
+ name (
+ const char *)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char *
+ type ()
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void
+ type (
+ const char *)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Port operations.
+
+ virtual ::CIAO::RACE::CCM_Planner_I_ptr
+ get_planner_i ()
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Operations from Components::SessionComponent
+
+ virtual void
+ set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ciao_preactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ciao_postactivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ccm_activate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ccm_passivate ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ccm_remove ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ protected:
+ SimpleBinPacker_Context *context_;
+ };
+
+ class SIMPLEBINPACKER_EXEC_Export SimpleBinPacker_Home_exec_i
+ : public virtual SimpleBinPacker_Home_Exec,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ SimpleBinPacker_Home_exec_i (void);
+ virtual ~SimpleBinPacker_Home_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create ()
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+ };
+
+ extern "C" SIMPLEBINPACKER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ createSimpleBinPacker_Home_Impl (void);
+ }
+ }
+}
+
+#include /**/ "ace/post.h"
+
+#endif /* CIAO_SIMPLEBINPACKER_EXEC_H */
+
diff --git a/modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker_exec_export.h b/modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker_exec_export.h
new file mode 100644
index 00000000000..48c6c1ee4d3
--- /dev/null
+++ b/modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker_exec_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl SIMPLEBINPACKER_EXEC
+// ------------------------------
+#ifndef SIMPLEBINPACKER_EXEC_EXPORT_H
+#define SIMPLEBINPACKER_EXEC_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (SIMPLEBINPACKER_EXEC_HAS_DLL)
+# define SIMPLEBINPACKER_EXEC_HAS_DLL 1
+#endif /* ! SIMPLEBINPACKER_EXEC_HAS_DLL */
+
+#if defined (SIMPLEBINPACKER_EXEC_HAS_DLL) && (SIMPLEBINPACKER_EXEC_HAS_DLL == 1)
+# if defined (SIMPLEBINPACKER_EXEC_BUILD_DLL)
+# define SIMPLEBINPACKER_EXEC_Export ACE_Proper_Export_Flag
+# define SIMPLEBINPACKER_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define SIMPLEBINPACKER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* SIMPLEBINPACKER_EXEC_BUILD_DLL */
+# define SIMPLEBINPACKER_EXEC_Export ACE_Proper_Import_Flag
+# define SIMPLEBINPACKER_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define SIMPLEBINPACKER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* SIMPLEBINPACKER_EXEC_BUILD_DLL */
+#else /* SIMPLEBINPACKER_EXEC_HAS_DLL == 1 */
+# define SIMPLEBINPACKER_EXEC_Export
+# define SIMPLEBINPACKER_EXEC_SINGLETON_DECLARATION(T)
+# define SIMPLEBINPACKER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* SIMPLEBINPACKER_EXEC_HAS_DLL == 1 */
+
+// Set SIMPLEBINPACKER_EXEC_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (SIMPLEBINPACKER_EXEC_NTRACE)
+# if (ACE_NTRACE == 1)
+# define SIMPLEBINPACKER_EXEC_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define SIMPLEBINPACKER_EXEC_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !SIMPLEBINPACKER_EXEC_NTRACE */
+
+#if (SIMPLEBINPACKER_EXEC_NTRACE == 1)
+# define SIMPLEBINPACKER_EXEC_TRACE(X)
+#else /* (SIMPLEBINPACKER_EXEC_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define SIMPLEBINPACKER_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (SIMPLEBINPACKER_EXEC_NTRACE == 1) */
+
+#endif /* SIMPLEBINPACKER_EXEC_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker_stub_export.h b/modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker_stub_export.h
new file mode 100644
index 00000000000..eae6bd3e06b
--- /dev/null
+++ b/modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker_stub_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl SIMPLEBINPACKER_STUB
+// ------------------------------
+#ifndef SIMPLEBINPACKER_STUB_EXPORT_H
+#define SIMPLEBINPACKER_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (SIMPLEBINPACKER_STUB_HAS_DLL)
+# define SIMPLEBINPACKER_STUB_HAS_DLL 1
+#endif /* ! SIMPLEBINPACKER_STUB_HAS_DLL */
+
+#if defined (SIMPLEBINPACKER_STUB_HAS_DLL) && (SIMPLEBINPACKER_STUB_HAS_DLL == 1)
+# if defined (SIMPLEBINPACKER_STUB_BUILD_DLL)
+# define SIMPLEBINPACKER_STUB_Export ACE_Proper_Export_Flag
+# define SIMPLEBINPACKER_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define SIMPLEBINPACKER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* SIMPLEBINPACKER_STUB_BUILD_DLL */
+# define SIMPLEBINPACKER_STUB_Export ACE_Proper_Import_Flag
+# define SIMPLEBINPACKER_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define SIMPLEBINPACKER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* SIMPLEBINPACKER_STUB_BUILD_DLL */
+#else /* SIMPLEBINPACKER_STUB_HAS_DLL == 1 */
+# define SIMPLEBINPACKER_STUB_Export
+# define SIMPLEBINPACKER_STUB_SINGLETON_DECLARATION(T)
+# define SIMPLEBINPACKER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* SIMPLEBINPACKER_STUB_HAS_DLL == 1 */
+
+// Set SIMPLEBINPACKER_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (SIMPLEBINPACKER_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define SIMPLEBINPACKER_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define SIMPLEBINPACKER_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !SIMPLEBINPACKER_STUB_NTRACE */
+
+#if (SIMPLEBINPACKER_STUB_NTRACE == 1)
+# define SIMPLEBINPACKER_STUB_TRACE(X)
+#else /* (SIMPLEBINPACKER_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define SIMPLEBINPACKER_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (SIMPLEBINPACKER_STUB_NTRACE == 1) */
+
+#endif /* SIMPLEBINPACKER_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker_svnt_export.h b/modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker_svnt_export.h
new file mode 100644
index 00000000000..1b97afc372e
--- /dev/null
+++ b/modules/CIAO/RACE/Planners/SimpleBinPacker/SimpleBinPacker_svnt_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl SIMPLEBINPACKER_SVNT
+// ------------------------------
+#ifndef SIMPLEBINPACKER_SVNT_EXPORT_H
+#define SIMPLEBINPACKER_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (SIMPLEBINPACKER_SVNT_HAS_DLL)
+# define SIMPLEBINPACKER_SVNT_HAS_DLL 1
+#endif /* ! SIMPLEBINPACKER_SVNT_HAS_DLL */
+
+#if defined (SIMPLEBINPACKER_SVNT_HAS_DLL) && (SIMPLEBINPACKER_SVNT_HAS_DLL == 1)
+# if defined (SIMPLEBINPACKER_SVNT_BUILD_DLL)
+# define SIMPLEBINPACKER_SVNT_Export ACE_Proper_Export_Flag
+# define SIMPLEBINPACKER_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define SIMPLEBINPACKER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* SIMPLEBINPACKER_SVNT_BUILD_DLL */
+# define SIMPLEBINPACKER_SVNT_Export ACE_Proper_Import_Flag
+# define SIMPLEBINPACKER_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define SIMPLEBINPACKER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* SIMPLEBINPACKER_SVNT_BUILD_DLL */
+#else /* SIMPLEBINPACKER_SVNT_HAS_DLL == 1 */
+# define SIMPLEBINPACKER_SVNT_Export
+# define SIMPLEBINPACKER_SVNT_SINGLETON_DECLARATION(T)
+# define SIMPLEBINPACKER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* SIMPLEBINPACKER_SVNT_HAS_DLL == 1 */
+
+// Set SIMPLEBINPACKER_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (SIMPLEBINPACKER_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define SIMPLEBINPACKER_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define SIMPLEBINPACKER_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !SIMPLEBINPACKER_SVNT_NTRACE */
+
+#if (SIMPLEBINPACKER_SVNT_NTRACE == 1)
+# define SIMPLEBINPACKER_SVNT_TRACE(X)
+#else /* (SIMPLEBINPACKER_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define SIMPLEBINPACKER_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (SIMPLEBINPACKER_SVNT_NTRACE == 1) */
+
+#endif /* SIMPLEBINPACKER_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/common/RACE_common.idl b/modules/CIAO/RACE/common/RACE_common.idl
new file mode 100644
index 00000000000..ec712c402e9
--- /dev/null
+++ b/modules/CIAO/RACE/common/RACE_common.idl
@@ -0,0 +1,17 @@
+//$Id$
+#ifndef RACE_COMMON_IDL
+#define RACE_COMMON_IDL
+
+#include "tao/StringSeq.pidl"
+
+module CIAO
+{
+ module RACE
+ {
+ typedef string RACE_Classification;
+ typedef sequence <RACE_Classification> RACE_Classifications;
+ typedef CORBA::StringSeq PlannerFlow;
+ };
+};
+
+#endif /* RACE_COMMON_IDL */
diff --git a/modules/CIAO/RACE/common/RACE_common.mpc b/modules/CIAO/RACE/common/RACE_common.mpc
new file mode 100644
index 00000000000..38253d218d7
--- /dev/null
+++ b/modules/CIAO/RACE/common/RACE_common.mpc
@@ -0,0 +1,58 @@
+// generate_component_mpc.pl,v 1.9 2003/12/22 21:56:27 boris Exp
+//$Id$
+// This file is generated with "generate_component_mpc.pl -n RACE_common"
+
+project(RACE_common_stub): taolib_with_idl, anytypecode {
+
+ sharedname = RACE_common_stub
+ idlflags += -Wb,stub_export_macro=RACE_COMMON_STUB_Export \
+ -Wb,stub_export_include=RACE_common_stub_export.h
+// -Wb,skel_export_macro=RACE_COMMON_SVNT_Export \
+// -Wb,skel_export_include=RACE_common_svnt_export.h
+ dynamicflags = RACE_COMMON_STUB_BUILD_DLL
+
+ IDL_Files {
+ RACE_common.idl
+ }
+
+ Source_Files {
+ RACE_commonC.cpp
+ }
+
+ Header_Files {
+ RACE_commonC.h
+ }
+
+ Inline_Files {
+ RACE_commonC.inl
+ }
+}
+
+// project(RACE_common_svnt) : ciao_servant_dnc {
+
+// after += RACE_common_stub
+// sharedname = RACE_common_svnt
+// libs += RACE_common_stub
+
+// idlflags += -Wb,stub_export_macro=RACE_COMMON_STUB_Export \
+// -Wb,stub_export_include=RACE_common_stub_export.h \
+// -Wb,skel_export_macro=RACE_COMMON_SVNT_Export \
+// -Wb,skel_export_include=RACE_common_svnt_export.h
+// dynamicflags = RACE_COMMON_SVNT_BUILD_DLL
+
+// IDL_Files {
+// RACE_common.idl
+// }
+
+// Source_Files {
+// RACE_commonS.cpp
+// }
+
+// Header_Files {
+// RACE_commonS.h
+// }
+
+// Inline_Files {
+// RACE_commonS.inl
+// }
+// }
diff --git a/modules/CIAO/RACE/common/RACE_common_stub_export.h b/modules/CIAO/RACE/common/RACE_common_stub_export.h
new file mode 100644
index 00000000000..d6c33fc61f6
--- /dev/null
+++ b/modules/CIAO/RACE/common/RACE_common_stub_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl RACE_COMMON_STUB
+// ------------------------------
+#ifndef RACE_COMMON_STUB_EXPORT_H
+#define RACE_COMMON_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (RACE_COMMON_STUB_HAS_DLL)
+# define RACE_COMMON_STUB_HAS_DLL 1
+#endif /* ! RACE_COMMON_STUB_HAS_DLL */
+
+#if defined (RACE_COMMON_STUB_HAS_DLL) && (RACE_COMMON_STUB_HAS_DLL == 1)
+# if defined (RACE_COMMON_STUB_BUILD_DLL)
+# define RACE_COMMON_STUB_Export ACE_Proper_Export_Flag
+# define RACE_COMMON_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define RACE_COMMON_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* RACE_COMMON_STUB_BUILD_DLL */
+# define RACE_COMMON_STUB_Export ACE_Proper_Import_Flag
+# define RACE_COMMON_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define RACE_COMMON_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* RACE_COMMON_STUB_BUILD_DLL */
+#else /* RACE_COMMON_STUB_HAS_DLL == 1 */
+# define RACE_COMMON_STUB_Export
+# define RACE_COMMON_STUB_SINGLETON_DECLARATION(T)
+# define RACE_COMMON_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* RACE_COMMON_STUB_HAS_DLL == 1 */
+
+// Set RACE_COMMON_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (RACE_COMMON_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define RACE_COMMON_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define RACE_COMMON_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !RACE_COMMON_STUB_NTRACE */
+
+#if (RACE_COMMON_STUB_NTRACE == 1)
+# define RACE_COMMON_STUB_TRACE(X)
+#else /* (RACE_COMMON_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define RACE_COMMON_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (RACE_COMMON_STUB_NTRACE == 1) */
+
+#endif /* RACE_COMMON_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/common/RACE_common_svnt_export.h b/modules/CIAO/RACE/common/RACE_common_svnt_export.h
new file mode 100644
index 00000000000..96790b41c7d
--- /dev/null
+++ b/modules/CIAO/RACE/common/RACE_common_svnt_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl RACE_COMMON_SVNT
+// ------------------------------
+#ifndef RACE_COMMON_SVNT_EXPORT_H
+#define RACE_COMMON_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (RACE_COMMON_SVNT_HAS_DLL)
+# define RACE_COMMON_SVNT_HAS_DLL 1
+#endif /* ! RACE_COMMON_SVNT_HAS_DLL */
+
+#if defined (RACE_COMMON_SVNT_HAS_DLL) && (RACE_COMMON_SVNT_HAS_DLL == 1)
+# if defined (RACE_COMMON_SVNT_BUILD_DLL)
+# define RACE_COMMON_SVNT_Export ACE_Proper_Export_Flag
+# define RACE_COMMON_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define RACE_COMMON_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* RACE_COMMON_SVNT_BUILD_DLL */
+# define RACE_COMMON_SVNT_Export ACE_Proper_Import_Flag
+# define RACE_COMMON_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define RACE_COMMON_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* RACE_COMMON_SVNT_BUILD_DLL */
+#else /* RACE_COMMON_SVNT_HAS_DLL == 1 */
+# define RACE_COMMON_SVNT_Export
+# define RACE_COMMON_SVNT_SINGLETON_DECLARATION(T)
+# define RACE_COMMON_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* RACE_COMMON_SVNT_HAS_DLL == 1 */
+
+// Set RACE_COMMON_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (RACE_COMMON_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define RACE_COMMON_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define RACE_COMMON_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !RACE_COMMON_SVNT_NTRACE */
+
+#if (RACE_COMMON_SVNT_NTRACE == 1)
+# define RACE_COMMON_SVNT_TRACE(X)
+#else /* (RACE_COMMON_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define RACE_COMMON_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (RACE_COMMON_SVNT_NTRACE == 1) */
+
+#endif /* RACE_COMMON_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/RACE/descriptors/Deployment.xsd b/modules/CIAO/RACE/descriptors/Deployment.xsd
new file mode 100644
index 00000000000..c8a6399730b
--- /dev/null
+++ b/modules/CIAO/RACE/descriptors/Deployment.xsd
@@ -0,0 +1,776 @@
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:xmi="http://www.omg.org/XMI"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:Deployment="http://www.omg.org/Deployment"
+ targetNamespace="http://www.omg.org/Deployment">
+
+ <xsd:import namespace="http://www.omg.org/XMI" schemaLocation="XMI.xsd" />
+
+
+ <xsd:complexType name="Any">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="type" type="Deployment:DataType"/>
+ <xsd:element name="value" type="Deployment:DataValue"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="Any" type="Deployment:Any"/>
+ <xsd:complexType name="DataType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="kind" type="Deployment:TCKind"/>
+ <xsd:element name="enum" type="Deployment:EnumType"/>
+ <xsd:element name="objref" type="Deployment:ObjrefType"/>
+ <xsd:element name="boundedString" type="Deployment:BoundedStringType"/>
+ <xsd:element name="fixed" type="Deployment:FixedType"/>
+ <xsd:element name="array" type="Deployment:ArrayType"/>
+ <xsd:element name="sequence" type="Deployment:SequenceType"/>
+ <xsd:element name="alias" type="Deployment:AliasType"/>
+ <xsd:element name="struct" type="Deployment:StructType"/>
+ <xsd:element name="value" type="Deployment:ValueType"/>
+ <xsd:element name="union" type="Deployment:UnionType"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="DataType" type="Deployment:DataType"/>
+ <xsd:complexType name="DataValue">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="short" type="xsd:short"/>
+ <xsd:element name="long" type="xsd:int"/>
+ <xsd:element name="ushort" type="xsd:unsignedShort"/>
+ <xsd:element name="ulong" type="xsd:unsignedInt"/>
+ <xsd:element name="float" type="xsd:float"/>
+ <xsd:element name="double" type="xsd:double"/>
+ <xsd:element name="boolean" type="xsd:boolean"/>
+ <xsd:element name="octet" type="xsd:unsignedByte"/>
+ <xsd:element name="opaque" type="xsd:base64Binary"/>
+ <xsd:element name="objref" type="xsd:string"/>
+ <xsd:element name="enum" type="xsd:string"/>
+ <xsd:element name="string" type="xsd:string"/>
+ <xsd:element name="longlong" type="xsd:long"/>
+ <xsd:element name="ulonglong" type="xsd:unsignedLong"/>
+ <xsd:element name="longdouble" type="xsd:double"/>
+ <xsd:element name="fixed" type="xsd:string"/>
+ <xsd:element name="any" type="Deployment:Any"/>
+ <xsd:element name="typecode" type="Deployment:DataType"/>
+ <xsd:element name="element" type="Deployment:DataValue"/>
+ <xsd:element name="discriminator" type="Deployment:DataValue"/>
+ <xsd:element name="value" type="Deployment:DataValue"/>
+ <xsd:element name="boxedValue" type="Deployment:DataValue"/>
+ <xsd:element name="member" type="Deployment:NamedValue"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="DataValue" type="Deployment:DataValue"/>
+
+
+ <xsd:complexType name="EnumType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="typeId" type="xsd:string"/>
+ <xsd:element name="member" type="xsd:string"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="EnumType" type="Deployment:EnumType"/>
+ <xsd:complexType name="ObjrefType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="typeId" type="xsd:string"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+
+
+ <xsd:element name="ObjrefType" type="Deployment:ObjrefType"/>
+ <xsd:complexType name="BoundedStringType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="bound" type="xsd:string"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="BoundedStringType" type="Deployment:BoundedStringType"/>
+ <xsd:complexType name="FixedType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="digits" type="xsd:string"/>
+ <xsd:element name="scale" type="xsd:string"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="FixedType" type="Deployment:FixedType"/>
+ <xsd:complexType name="ArrayType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="length" type="xsd:string"/>
+ <xsd:element name="elementType" type="Deployment:DataType"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="ArrayType" type="Deployment:ArrayType"/>
+ <xsd:complexType name="SequenceType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="bound" type="xsd:string"/>
+ <xsd:element name="elementType" type="Deployment:DataType"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="SequenceType" type="Deployment:SequenceType"/>
+ <xsd:complexType name="AliasType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="typeId" type="xsd:string"/>
+ <xsd:element name="elementType" type="Deployment:DataType"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="AliasType" type="Deployment:AliasType"/>
+ <xsd:complexType name="StructType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="typeId" type="xsd:string"/>
+ <xsd:element name="member" type="Deployment:StructMemberType"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="StructType" type="Deployment:StructType"/>
+ <xsd:complexType name="StructMemberType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="type" type="Deployment:DataType"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="StructMemberType" type="Deployment:StructMemberType"/>
+ <xsd:complexType name="ValueType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="typeId" type="xsd:string"/>
+ <xsd:element name="modifier" type="xsd:string"/>
+ <xsd:element name="baseType" type="Deployment:DataType"/>
+ <xsd:element name="member" type="Deployment:ValueMemberType"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="ValueType" type="Deployment:ValueType"/>
+ <xsd:complexType name="ValueMemberType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="visibility" type="xsd:string"/>
+ <xsd:element name="type" type="Deployment:DataType"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="ValueMemberType" type="Deployment:ValueMemberType"/>
+ <xsd:complexType name="UnionType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="typeId" type="xsd:string"/>
+ <xsd:element name="default" type="Deployment:UnionMemberType"/>
+ <xsd:element name="discriminatorType" type="Deployment:DataType"/>
+ <xsd:element name="member" type="Deployment:UnionMemberType"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="UnionType" type="Deployment:UnionType"/>
+ <xsd:complexType name="UnionMemberType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="type" type="Deployment:DataType"/>
+ <xsd:element name="label" type="Deployment:DataValue"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="UnionMemberType" type="Deployment:UnionMemberType"/>
+ <xsd:complexType name="NamedValue">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="value" type="Deployment:DataValue"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="NamedValue" type="Deployment:NamedValue"/>
+ <xsd:complexType name="Bridge">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="label" type="xsd:string"/>
+ <xsd:element name="connect" type="Deployment:Interconnect"/>
+ <xsd:element name="resource" type="Deployment:Resource"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="Bridge" type="Deployment:Bridge"/>
+ <xsd:complexType name="Interconnect">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="label" type="xsd:string"/>
+ <xsd:element name="connection" type="Deployment:Bridge"/>
+ <xsd:element name="connect" type="Deployment:Node"/>
+ <xsd:element name="resource" type="Deployment:Resource"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="Interconnect" type="Deployment:Interconnect"/>
+ <xsd:complexType name="Node">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="label" type="xsd:string"/>
+ <xsd:element name="connection" type="Deployment:Interconnect"/>
+ <xsd:element name="sharedResource" type="Deployment:SharedResource"/>
+ <xsd:element name="resource" type="Deployment:Resource"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="Node" type="Deployment:Node"/>
+ <xsd:complexType name="Resource">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="resourceType" type="xsd:string"/>
+ <xsd:element name="property" type="Deployment:SatisfierProperty"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="Resource" type="Deployment:Resource"/>
+ <xsd:complexType name="SharedResource">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="resourceType" type="xsd:string"/>
+ <xsd:element name="node" type="Deployment:Node"/>
+ <xsd:element name="property" type="Deployment:SatisfierProperty"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="SharedResource" type="Deployment:SharedResource"/>
+ <xsd:complexType name="Domain">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="UUID" type="xsd:string"/>
+ <xsd:element name="label" type="xsd:string"/>
+ <xsd:element name="sharedResource" type="Deployment:SharedResource"/>
+ <xsd:element name="node" type="Deployment:Node"/>
+ <xsd:element name="interconnect" type="Deployment:Interconnect"/>
+ <xsd:element name="bridge" type="Deployment:Bridge"/>
+ <xsd:element name="infoProperty" type="Deployment:Property"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="Domain" type="Deployment:Domain"/>
+ <xsd:complexType name="PlanPropertyMapping">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="source" type="xsd:string"/>
+ <xsd:element name="externalName" type="xsd:string"/>
+ <xsd:element name="delegatesTo" type="Deployment:PlanSubcomponentPropertyReference"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="PlanPropertyMapping" type="Deployment:PlanPropertyMapping"/>
+ <xsd:complexType name="PlanSubcomponentPropertyReference">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="propertyName" type="xsd:string"/>
+ <xsd:element name="instance" type="Deployment:InstanceDeploymentDescription"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="PlanSubcomponentPropertyReference" type="Deployment:PlanSubcomponentPropertyReference"/>
+ <xsd:complexType name="PlanSubcomponentPortEndpoint">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="portName" type="xsd:string"/>
+ <xsd:element name="provider" type="xsd:string"/>
+ <xsd:element name="kind" type="Deployment:CCMComponentPortKind"/>
+ <xsd:element name="instance" type="Deployment:InstanceDeploymentDescription"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="PlanSubcomponentPortEndpoint" type="Deployment:PlanSubcomponentPortEndpoint"/>
+ <xsd:complexType name="PlanConnectionDescription">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="source" type="xsd:string"/>
+ <xsd:element name="deployRequirement" type="Deployment:Requirement"/>
+ <xsd:element name="externalEndpoint" type="Deployment:ComponentExternalPortEndpoint"/>
+ <xsd:element name="internalEndpoint" type="Deployment:PlanSubcomponentPortEndpoint"/>
+ <xsd:element name="externalReference" type="Deployment:ExternalReferenceEndpoint"/>
+ <xsd:element name="deployedResource" type="Deployment:ConnectionResourceDeploymentDescription"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="PlanConnectionDescription" type="Deployment:PlanConnectionDescription"/>
+ <xsd:complexType name="InstanceDeploymentDescription">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="node" type="xsd:string"/>
+ <xsd:element name="source" type="xsd:string"/>
+ <xsd:element name="implementation" type="Deployment:MonolithicDeploymentDescription"/>
+ <xsd:element name="configProperty" type="Deployment:Property"/>
+ <xsd:element name="deployedResource" type="Deployment:InstanceResourceDeploymentDescription"/>
+ <xsd:element name="deployedSharedResource" type="Deployment:InstanceResourceDeploymentDescription"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="InstanceDeploymentDescription" type="Deployment:InstanceDeploymentDescription"/>
+ <xsd:complexType name="MonolithicDeploymentDescription">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="source" type="xsd:string"/>
+ <xsd:element name="artifact" type="Deployment:ArtifactDeploymentDescription"/>
+ <xsd:element name="execParameter" type="Deployment:Property"/>
+ <xsd:element name="deployRequirement" type="Deployment:Requirement"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="MonolithicDeploymentDescription" type="Deployment:MonolithicDeploymentDescription"/>
+ <xsd:complexType name="ArtifactDeploymentDescription">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="location" type="xsd:string"/>
+ <xsd:element name="node" type="xsd:string"/>
+ <xsd:element name="source" type="xsd:string"/>
+ <xsd:element name="execParameter" type="Deployment:Property"/>
+ <xsd:element name="deployRequirement" type="Deployment:Requirement"/>
+ <xsd:element name="deployedResource" type="Deployment:ResourceDeploymentDescription"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="ArtifactDeploymentDescription" type="Deployment:ArtifactDeploymentDescription"/>
+
+
+ <xsd:complexType name="DeploymentPlan">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="UUID" type="xsd:string"/>
+ <xsd:element name="label" type="xsd:string"/>
+ <xsd:element name="realizes" type="Deployment:ComponentInterfaceDescription"/>
+ <xsd:element name="implementation" type="Deployment:MonolithicDeploymentDescription"/>
+ <xsd:element name="instance" type="Deployment:InstanceDeploymentDescription"/>
+ <xsd:element name="connection" type="Deployment:PlanConnectionDescription"/>
+ <xsd:element name="externalProperty" type="Deployment:PlanPropertyMapping"/>
+ <xsd:element name="dependsOn" type="Deployment:ImplementationDependency"/>
+ <xsd:element name="artifact" type="Deployment:ArtifactDeploymentDescription"/>
+ <xsd:element name="infoProperty" type="Deployment:Property"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="DeploymentPlan" type="Deployment:DeploymentPlan"/>
+
+
+ <xsd:complexType name="ResourceDeploymentDescription">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="requirementName" type="xsd:string"/>
+ <xsd:element name="resourceName" type="xsd:string"/>
+ <xsd:element name="resourceValue" type="Deployment:Any"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="ResourceDeploymentDescription" type="Deployment:ResourceDeploymentDescription"/>
+ <xsd:complexType name="InstanceResourceDeploymentDescription">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="resourceUsage" type="Deployment:ResourceUsageKind"/>
+ <xsd:element name="requirementName" type="xsd:string"/>
+ <xsd:element name="resourceName" type="xsd:string"/>
+ <xsd:element name="resourceValue" type="Deployment:Any"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="InstanceResourceDeploymentDescription" type="Deployment:InstanceResourceDeploymentDescription"/>
+ <xsd:complexType name="ConnectionResourceDeploymentDescription">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="targetName" type="xsd:string"/>
+ <xsd:element name="requirementName" type="xsd:string"/>
+ <xsd:element name="resourceName" type="xsd:string"/>
+ <xsd:element name="resourceValue" type="Deployment:Any"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="ConnectionResourceDeploymentDescription" type="Deployment:ConnectionResourceDeploymentDescription"/>
+ <xsd:complexType name="Capability">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="resourceType" type="xsd:string"/>
+ <xsd:element name="property" type="Deployment:SatisfierProperty"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="Capability" type="Deployment:Capability"/>
+ <xsd:complexType name="ComponentPropertyDescription">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="type" type="Deployment:DataType"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="ComponentPropertyDescription" type="Deployment:ComponentPropertyDescription"/>
+ <xsd:complexType name="ComponentPortDescription">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="specificType" type="xsd:string"/>
+ <xsd:element name="supportedType" type="xsd:string"/>
+ <xsd:element name="provider" type="xsd:string"/>
+ <xsd:element name="exclusiveProvider" type="xsd:string"/>
+ <xsd:element name="exclusiveUser" type="xsd:string"/>
+ <xsd:element name="optional" type="xsd:string"/>
+ <xsd:element name="kind" type="Deployment:CCMComponentPortKind"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="ComponentPortDescription" type="Deployment:ComponentPortDescription"/>
+ <xsd:complexType name="ComponentInterfaceDescription">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="label" type="xsd:string"/>
+ <xsd:element name="UUID" type="xsd:string"/>
+ <xsd:element name="specificType" type="xsd:string"/>
+ <xsd:element name="supportedType" type="xsd:string"/>
+ <xsd:element name="idlFile" type="xsd:string"/>
+ <xsd:element name="configProperty" type="Deployment:Property"/>
+ <xsd:element name="port" type="Deployment:ComponentPortDescription"/>
+ <xsd:element name="property" type="Deployment:ComponentPropertyDescription"/>
+ <xsd:element name="infoProperty" type="Deployment:Property"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="ComponentInterfaceDescription" type="Deployment:ComponentInterfaceDescription"/>
+ <xsd:complexType name="ImplementationArtifactDescription">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="label" type="xsd:string"/>
+ <xsd:element name="UUID" type="xsd:string"/>
+ <xsd:element name="location" type="xsd:string"/>
+ <xsd:element name="execParameter" type="Deployment:Property"/>
+ <xsd:element name="deployRequirement" type="Deployment:Requirement"/>
+ <xsd:element name="dependsOn" type="Deployment:NamedImplementationArtifact"/>
+ <xsd:element name="infoProperty" type="Deployment:Property"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="ImplementationArtifactDescription" type="Deployment:ImplementationArtifactDescription"/>
+ <xsd:complexType name="MonolithicImplementationDescription">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="execParameter" type="Deployment:Property"/>
+ <xsd:element name="primaryArtifact" type="Deployment:NamedImplementationArtifact"/>
+ <xsd:element name="deployRequirement" type="Deployment:ImplementationRequirement"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="MonolithicImplementationDescription" type="Deployment:MonolithicImplementationDescription"/>
+ <xsd:complexType name="AssemblyPropertyMapping">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="externalName" type="xsd:string"/>
+ <xsd:element name="delegatesTo" type="Deployment:SubcomponentPropertyReference"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="AssemblyPropertyMapping" type="Deployment:AssemblyPropertyMapping"/>
+ <xsd:complexType name="SubcomponentPropertyReference">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="propertyName" type="xsd:string"/>
+ <xsd:element name="instance" type="Deployment:SubcomponentInstantiationDescription"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="SubcomponentPropertyReference" type="Deployment:SubcomponentPropertyReference"/>
+ <xsd:complexType name="SubcomponentPortEndpoint">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="portName" type="xsd:string"/>
+ <xsd:element name="instance" type="Deployment:SubcomponentInstantiationDescription"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="SubcomponentPortEndpoint" type="Deployment:SubcomponentPortEndpoint"/>
+ <xsd:complexType name="AssemblyConnectionDescription">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="deployRequirement" type="Deployment:Requirement"/>
+ <xsd:element name="externalEndpoint" type="Deployment:ComponentExternalPortEndpoint"/>
+ <xsd:element name="internalEndpoint" type="Deployment:SubcomponentPortEndpoint"/>
+ <xsd:element name="externalReference" type="Deployment:ExternalReferenceEndpoint"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="AssemblyConnectionDescription" type="Deployment:AssemblyConnectionDescription"/>
+ <xsd:complexType name="SubcomponentInstantiationDescription">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="package" type="Deployment:ComponentPackageDescription"/>
+ <xsd:element name="configProperty" type="Deployment:Property"/>
+ <xsd:element name="selectRequirement" type="Deployment:Requirement"/>
+ <xsd:element name="reference" type="Deployment:ComponentPackageReference"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="SubcomponentInstantiationDescription" type="Deployment:SubcomponentInstantiationDescription"/>
+ <xsd:complexType name="ComponentAssemblyDescription">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="instance" type="Deployment:SubcomponentInstantiationDescription"/>
+ <xsd:element name="connection" type="Deployment:AssemblyConnectionDescription"/>
+ <xsd:element name="externalProperty" type="Deployment:AssemblyPropertyMapping"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="ComponentAssemblyDescription" type="Deployment:ComponentAssemblyDescription"/>
+ <xsd:complexType name="ComponentImplementationDescription">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="label" type="xsd:string"/>
+ <xsd:element name="UUID" type="xsd:string"/>
+ <xsd:element name="implements" type="Deployment:ComponentInterfaceDescription"/>
+ <xsd:element name="assemblyImpl" type="Deployment:ComponentAssemblyDescription"/>
+ <xsd:element name="monolithicImpl" type="Deployment:MonolithicImplementationDescription"/>
+ <xsd:element name="configProperty" type="Deployment:Property"/>
+ <xsd:element name="capability" type="Deployment:Capability"/>
+ <xsd:element name="dependsOn" type="Deployment:ImplementationDependency"/>
+ <xsd:element name="infoProperty" type="Deployment:Property"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="ComponentImplementationDescription" type="Deployment:ComponentImplementationDescription"/>
+ <xsd:complexType name="ComponentPackageReference">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="requiredUUID" type="xsd:string"/>
+ <xsd:element name="requiredName" type="xsd:string"/>
+ <xsd:element name="requiredType" type="xsd:string"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="ComponentPackageReference" type="Deployment:ComponentPackageReference"/>
+ <xsd:complexType name="ComponentPackageDescription">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="label" type="xsd:string"/>
+ <xsd:element name="UUID" type="xsd:string"/>
+ <xsd:element name="realizes" type="Deployment:ComponentInterfaceDescription"/>
+ <xsd:element name="configProperty" type="Deployment:Property"/>
+ <xsd:element name="implementation" type="Deployment:PackagedComponentImplementation"/>
+ <xsd:element name="infoProperty" type="Deployment:Property"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="ComponentPackageDescription" type="Deployment:ComponentPackageDescription"/>
+ <xsd:complexType name="PackageConfiguration">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="label" type="xsd:string"/>
+ <xsd:element name="UUID" type="xsd:string"/>
+ <xsd:element name="specializedConfig" type="Deployment:PackageConfiguration"/>
+ <xsd:element name="basePackage" type="Deployment:ComponentPackageDescription"/>
+ <xsd:element name="reference" type="Deployment:ComponentPackageReference"/>
+ <xsd:element name="selectRequirement" type="Deployment:Requirement"/>
+ <xsd:element name="configProperty" type="Deployment:Property"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="PackageConfiguration" type="Deployment:PackageConfiguration"/>
+ <xsd:complexType name="PackagedComponentImplementation">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="referencedImplementation" type="Deployment:ComponentImplementationDescription"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="PackagedComponentImplementation" type="Deployment:PackagedComponentImplementation"/>
+ <xsd:complexType name="NamedImplementationArtifact">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="referencedArtifact" type="Deployment:ImplementationArtifactDescription"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="NamedImplementationArtifact" type="Deployment:NamedImplementationArtifact"/>
+ <xsd:complexType name="ImplementationRequirement">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="resourceUsage" type="Deployment:ResourceUsageKind"/>
+ <xsd:element name="resourcePort" type="xsd:string"/>
+ <xsd:element name="componentPort" type="xsd:string"/>
+ <xsd:element name="resourceType" type="xsd:string"/>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="property" type="Deployment:Property"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="ImplementationRequirement" type="Deployment:ImplementationRequirement"/>
+ <xsd:complexType name="RequirementSatisfier">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="resourceType" type="xsd:string"/>
+ <xsd:element name="property" type="Deployment:SatisfierProperty"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="RequirementSatisfier" type="Deployment:RequirementSatisfier"/>
+ <xsd:complexType name="SatisfierProperty">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="kind" type="Deployment:SatisfierPropertyKind"/>
+ <xsd:element name="value" type="Deployment:Any"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="SatisfierProperty" type="Deployment:SatisfierProperty"/>
+ <xsd:complexType name="Requirement">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="resourceType" type="xsd:string"/>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="property" type="Deployment:Property"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="Requirement" type="Deployment:Requirement"/>
+ <xsd:complexType name="Property">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="value" type="Deployment:Any"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="Property" type="Deployment:Property"/>
+ <xsd:complexType name="ExternalReferenceEndpoint">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="location" type="xsd:string"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="ExternalReferenceEndpoint" type="Deployment:ExternalReferenceEndpoint"/>
+ <xsd:complexType name="ComponentExternalPortEndpoint">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="portName" type="xsd:string"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="ComponentExternalPortEndpoint" type="Deployment:ComponentExternalPortEndpoint"/>
+ <xsd:complexType name="ImplementationDependency">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="requiredType" type="xsd:string"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="ImplementationDependency" type="Deployment:ImplementationDependency"/>
+ <xsd:complexType name="TopLevelPackageDescription">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="package" type="Deployment:PackageConfiguration"/>
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" use="optional"/>
+ <xsd:attributeGroup ref="xmi:ObjectAttribs"/>
+ </xsd:complexType>
+ <xsd:element name="TopLevelPackageDescription" type="Deployment:TopLevelPackageDescription"/>
+ <xsd:simpleType name="TCKind">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="tk_null"/>
+ <xsd:enumeration value="tk_void"/>
+ <xsd:enumeration value="tk_short"/>
+ <xsd:enumeration value="tk_long"/>
+ <xsd:enumeration value="tk_ushort"/>
+ <xsd:enumeration value="tk_ulong"/>
+ <xsd:enumeration value="tk_float"/>
+ <xsd:enumeration value="tk_double"/>
+ <xsd:enumeration value="tk_boolean"/>
+ <xsd:enumeration value="tk_char"/>
+ <xsd:enumeration value="tk_octet"/>
+ <xsd:enumeration value="tk_any"/>
+ <xsd:enumeration value="tk_TypeCode"/>
+ <xsd:enumeration value="tk_Principal"/>
+ <xsd:enumeration value="tk_objref"/>
+ <xsd:enumeration value="tk_struct"/>
+ <xsd:enumeration value="tk_union"/>
+ <xsd:enumeration value="tk_enum"/>
+ <xsd:enumeration value="tk_string"/>
+ <xsd:enumeration value="tk_sequence"/>
+ <xsd:enumeration value="tk_array"/>
+ <xsd:enumeration value="tk_alias"/>
+ <xsd:enumeration value="tk_except"/>
+ <xsd:enumeration value="tk_longlong"/>
+ <xsd:enumeration value="tk_ulonglong"/>
+ <xsd:enumeration value="tk_longdouble"/>
+ <xsd:enumeration value="tk_wchar"/>
+ <xsd:enumeration value="tk_wstring"/>
+ <xsd:enumeration value="tk_wfixed"/>
+ <xsd:enumeration value="tk_value"/>
+ <xsd:enumeration value="tk_value_box"/>
+ <xsd:enumeration value="tk_native"/>
+ <xsd:enumeration value="tk_abstract_interface"/>
+ <xsd:enumeration value="tk_local_interface"/>
+ <xsd:enumeration value="tk_component"/>
+ <xsd:enumeration value="tk_home"/>
+ <xsd:enumeration value="tk_event"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ResourceUsageKind">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="None"/>
+ <xsd:enumeration value="InstanceUsesResource"/>
+ <xsd:enumeration value="ResourceUsesInstance"/>
+ <xsd:enumeration value="PortUsesResource"/>
+ <xsd:enumeration value="ResourceUsesPort"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="CCMComponentPortKind">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="Facet"/>
+ <xsd:enumeration value="SimplexReceptacle"/>
+ <xsd:enumeration value="MultiplexReceptacle"/>
+ <xsd:enumeration value="EventEmitter"/>
+ <xsd:enumeration value="EventPublisher"/>
+ <xsd:enumeration value="EventConsumer"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="SatisfierPropertyKind">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="Quantity"/>
+ <xsd:enumeration value="Capacity"/>
+ <xsd:enumeration value="Minimum"/>
+ <xsd:enumeration value="Maximum"/>
+ <xsd:enumeration value="Attribute"/>
+ <xsd:enumeration value="Selection"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+</xsd:schema>
diff --git a/modules/CIAO/RACE/descriptors/Modified_Deployment.xsd b/modules/CIAO/RACE/descriptors/Modified_Deployment.xsd
new file mode 100644
index 00000000000..b73077b0980
--- /dev/null
+++ b/modules/CIAO/RACE/descriptors/Modified_Deployment.xsd
@@ -0,0 +1,790 @@
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd"
+ xmlns:Deployment="http://www.omg.org/Deployment"
+ targetNamespace="http://www.omg.org/Deployment">
+
+
+ <xsd:simpleType name="TCKind">
+ <xsd:restriction base="xsd:NCName">
+ <xsd:enumeration value="tk_null"/>
+ <xsd:enumeration value="tk_void"/>
+ <xsd:enumeration value="tk_short"/>
+ <xsd:enumeration value="tk_long"/>
+ <xsd:enumeration value="tk_ushort"/>
+ <xsd:enumeration value="tk_ulong"/>
+ <xsd:enumeration value="tk_float"/>
+ <xsd:enumeration value="tk_double"/>
+ <xsd:enumeration value="tk_boolean"/>
+ <xsd:enumeration value="tk_char"/>
+ <xsd:enumeration value="tk_octet"/>
+ <xsd:enumeration value="tk_any"/>
+ <xsd:enumeration value="tk_TypeCode"/>
+ <xsd:enumeration value="tk_Principal"/>
+ <xsd:enumeration value="tk_objref"/>
+ <xsd:enumeration value="tk_struct"/>
+ <xsd:enumeration value="tk_union"/>
+ <xsd:enumeration value="tk_enum"/>
+ <xsd:enumeration value="tk_string"/>
+ <xsd:enumeration value="tk_sequence"/>
+ <xsd:enumeration value="tk_array"/>
+ <xsd:enumeration value="tk_alias"/>
+ <xsd:enumeration value="tk_except"/>
+ <xsd:enumeration value="tk_longlong"/>
+ <xsd:enumeration value="tk_ulonglong"/>
+ <xsd:enumeration value="tk_longdouble"/>
+ <xsd:enumeration value="tk_wchar"/>
+ <xsd:enumeration value="tk_wstring"/>
+ <xsd:enumeration value="tk_wfixed"/>
+ <xsd:enumeration value="tk_value"/>
+ <xsd:enumeration value="tk_value_box"/>
+ <xsd:enumeration value="tk_native"/>
+ <xsd:enumeration value="tk_abstract_interface"/>
+ <xsd:enumeration value="tk_local_interface"/>
+ <xsd:enumeration value="tk_component"/>
+ <xsd:enumeration value="tk_home"/>
+ <xsd:enumeration value="tk_event"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:complexType name="DataType">
+ <xsd:choice>
+ <xsd:element name="kind" type="Deployment:TCKind"/>
+<!--
+@@ not used, what for?
+
+ <xsd:element name="enum" type="Deployment:EnumType"/>
+ <xsd:element name="objref" type="Deployment:ObjrefType"/>
+ <xsd:element name="boundedString" type="Deployment:BoundedStringType"/>
+ <xsd:element name="fixed" type="Deployment:FixedType"/>
+ <xsd:element name="array" type="Deployment:ArrayType"/>
+ <xsd:element name="sequence" type="Deployment:SequenceType"/>
+ <xsd:element name="alias" type="Deployment:AliasType"/>
+ <xsd:element name="struct" type="Deployment:StructType"/>
+ <xsd:element name="value" type="Deployment:ValueType"/>
+ <xsd:element name="union" type="Deployment:UnionType"/>
+-->
+ </xsd:choice>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="DataValue">
+ <xsd:choice>
+ <xsd:element name="short" type="xsd:short"/>
+ <xsd:element name="long" type="xsd:int"/>
+ <xsd:element name="ushort" type="xsd:unsignedShort"/>
+ <xsd:element name="ulong" type="xsd:unsignedInt"/>
+ <xsd:element name="float" type="xsd:float"/>
+ <xsd:element name="double" type="xsd:double"/>
+ <xsd:element name="boolean" type="xsd:boolean"/>
+ <xsd:element name="octet" type="xsd:unsignedByte"/>
+ <!-- xsd:element name="opaque" type="xsd:base64Binary"/ -->
+ <xsd:element name="objref" type="xsd:string"/>
+ <xsd:element name="enum" type="xsd:string"/>
+ <xsd:element name="string" type="xsd:string"/>
+ <xsd:element name="longlong" type="xsd:long"/>
+ <xsd:element name="ulonglong" type="xsd:unsignedLong"/>
+ <xsd:element name="longdouble" type="xsd:double"/>
+ <xsd:element name="fixed" type="xsd:string"/>
+
+<!--
+@@ recursive
+ <xsd:element name="any" type="Deployment:Any"/>
+-->
+
+ <xsd:element name="typecode" type="Deployment:DataType"/>
+
+<!--
+@@ recursive
+ <xsd:element name="element" type="Deployment:DataValue"/>
+ <xsd:element name="discriminator" type="Deployment:DataValue"/>
+ <xsd:element name="value" type="Deployment:DataValue"/>
+ <xsd:element name="boxedValue" type="Deployment:DataValue"/>
+ <xsd:element name="member" type="Deployment:NamedValue"/>
+-->
+ </xsd:choice>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Any">
+ <xsd:sequence>
+ <xsd:element name="type" type="Deployment:DataType"/>
+ <xsd:element name="value" type="Deployment:DataValue"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Property">
+ <xsd:sequence>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="value" type="Deployment:Any"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+<!-- End of base definitions. -->
+
+ <xsd:complexType name="Node">
+ <xsd:sequence>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="label" type="xsd:string"/>
+<!--
+@@ recursive, not used
+ <xsd:element name="connection" type="Deployment:Interconnect"/>
+ <xsd:element name="sharedResource" type="Deployment:SharedResource"/>
+ <xsd:element name="resource" type="Deployment:Resource"/>
+-->
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:simpleType name="SatisfierPropertyKind">
+ <xsd:restriction base="xsd:NCName">
+ <xsd:enumeration value="Quantity"/>
+ <xsd:enumeration value="Capacity"/>
+ <xsd:enumeration value="Minimum"/>
+ <xsd:enumeration value="Maximum"/>
+ <xsd:enumeration value="Attribute"/>
+ <xsd:enumeration value="Selection"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+
+ <xsd:complexType name="SatisfierProperty">
+ <xsd:sequence>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="kind" type="Deployment:SatisfierPropertyKind"/>
+ <xsd:element name="value" type="Deployment:Any"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Resource">
+ <xsd:sequence>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="resourceType" type="xsd:string"/>
+ <xsd:element name="property" type="Deployment:SatisfierProperty"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="SharedResource">
+ <xsd:sequence>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="resourceType" type="xsd:string"/>
+ <xsd:element name="node" type="Deployment:Node"/>
+ <xsd:element name="property" type="Deployment:SatisfierProperty"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Domain">
+ <xsd:sequence>
+ <xsd:element name="label" type="xsd:string"/>
+ <xsd:element name="UUID" type="xsd:string"/>
+ <xsd:element name="sharedResource" type="Deployment:SharedResource" minOccurs="0"/>
+ <xsd:element name="node" type="Deployment:Node" maxOccurs="unbounded"/>
+<!--
+@@ recursive, not used
+ <xsd:element name="interconnect" type="Deployment:Interconnect"/>
+ <xsd:element name="bridge" type="Deployment:Bridge"/>
+-->
+ <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Requirement">
+ <xsd:sequence>
+ <xsd:element name="resourceType" type="xsd:string"/>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="property" type="Deployment:Property"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+<!-- Deployment -->
+
+ <xsd:complexType name="ResourceDeploymentDescription">
+ <xsd:sequence>
+ <xsd:element name="requirementName" type="xsd:string"/>
+ <xsd:element name="resourceName" type="xsd:string"/>
+ <xsd:element name="resourceValue" type="Deployment:Any"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="ArtifactDeploymentDescription">
+ <xsd:sequence>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="source" type="xsd:string"/>
+ <xsd:element name="node" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="location" type="xsd:string" maxOccurs="unbounded"/>
+ <xsd:element name="execParameter" type="Deployment:Property" minOccurs="0"/>
+ <xsd:element name="deployRequirement" type="Deployment:Requirement" minOccurs="0"/>
+ <xsd:element name="deployedResource" type="Deployment:ResourceDeploymentDescription" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="MonolithicDeploymentDescription">
+ <xsd:sequence>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="source" type="xsd:string"/>
+ <xsd:element name="artifact" type="xsd:IDREF" maxOccurs="unbounded"/> <!-- ArtifactDeploymentDescription -->
+ <xsd:element name="execParameter" type="Deployment:Property" minOccurs="0"/>
+ <xsd:element name="deployRequirement" type="Deployment:Requirement" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <xsd:simpleType name="ResourceUsageKind">
+ <xsd:restriction base="xsd:NCName">
+ <xsd:enumeration value="None"/>
+ <xsd:enumeration value="InstanceUsesResource"/>
+ <xsd:enumeration value="ResourceUsesInstance"/>
+ <xsd:enumeration value="PortUsesResource"/>
+ <xsd:enumeration value="ResourceUsesPort"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+
+ <xsd:complexType name="InstanceResourceDeploymentDescription">
+ <xsd:sequence>
+ <xsd:element name="resourceUsage" type="Deployment:ResourceUsageKind"/>
+ <xsd:element name="requirementName" type="xsd:string"/>
+ <xsd:element name="resourceName" type="xsd:string"/>
+ <xsd:element name="resourceValue" type="Deployment:Any"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="InstanceDeploymentDescription">
+ <xsd:sequence>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="node" type="xsd:string"/>
+ <xsd:element name="source" type="xsd:string"/>
+ <xsd:element name="implementation" type="xsd:IDREF"/> <!-- MonolithicDeploymentDescription -->
+ <xsd:element name="configProperty" type="Deployment:Property" minOccurs="0"/>
+ <xsd:element name="deployedResource" type="Deployment:InstanceResourceDeploymentDescription" minOccurs="0"/>
+ <xsd:element name="deployedSharedResource" type="Deployment:InstanceResourceDeploymentDescription" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+
+ <xsd:simpleType name="CCMComponentPortKind">
+ <xsd:restriction base="xsd:NCName">
+ <xsd:enumeration value="Facet"/>
+ <xsd:enumeration value="SimplexReceptacle"/>
+ <xsd:enumeration value="MultiplexReceptacle"/>
+ <xsd:enumeration value="EventEmitter"/>
+ <xsd:enumeration value="EventPublisher"/>
+ <xsd:enumeration value="EventConsumer"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+
+ <xsd:complexType name="ComponentPortDescription">
+ <xsd:sequence>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="specificType" type="xsd:string"/>
+ <xsd:element name="supportedType" type="xsd:string"/>
+ <xsd:element name="provider" type="xsd:string"/>
+ <xsd:element name="exclusiveProvider" type="xsd:string"/>
+ <xsd:element name="exclusiveUser" type="xsd:string"/>
+ <xsd:element name="optional" type="xsd:string"/>
+ <xsd:element name="kind" type="Deployment:CCMComponentPortKind"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="ComponentPropertyDescription">
+ <xsd:sequence>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="type" type="Deployment:DataType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="ComponentInterfaceDescription">
+ <xsd:choice>
+ <xsd:sequence>
+ <xsd:element name="label" type="xsd:string"/>
+ <xsd:element name="UUID" type="xsd:string"/>
+ <xsd:element name="specificType" type="xsd:string"/>
+ <xsd:element name="supportedType" type="xsd:string" maxOccurs="unbounded" />
+ <xsd:element name="idlFile" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="configProperty" type="Deployment:Property" minOccurs="0"/>
+ <xsd:element name="port" type="Deployment:ComponentPortDescription" maxOccurs="unbounded"/>
+ <xsd:element name="property" type="Deployment:ComponentPropertyDescription" minOccurs="0"/>
+ <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:element name="contentLocation" type="xsd:string"/>
+ </xsd:choice>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="ComponentExternalPortEndpoint">
+ <xsd:sequence>
+ <xsd:element name="portName" type="xsd:string"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="PlanSubcomponentPortEndpoint">
+ <xsd:sequence>
+ <xsd:element name="portName" type="xsd:string"/>
+ <xsd:element name="provider" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="kind" type="Deployment:CCMComponentPortKind"/>
+ <xsd:element name="instance" type="xsd:IDREF"/> <!-- InstanceDeploymentDescription -->
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="ExternalReferenceEndpoint">
+ <xsd:sequence>
+ <xsd:element name="location" type="xsd:string"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="ConnectionResourceDeploymentDescription">
+ <xsd:sequence>
+ <xsd:element name="targetName" type="xsd:string"/>
+ <xsd:element name="requirementName" type="xsd:string"/>
+ <xsd:element name="resourceName" type="xsd:string"/>
+ <xsd:element name="resourceValue" type="Deployment:Any"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="PlanConnectionDescription">
+ <xsd:sequence>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="source" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="deployRequirement" type="Deployment:Requirement" minOccurs="0"/>
+ <xsd:element name="externalEndpoint" type="Deployment:ComponentExternalPortEndpoint" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="internalEndpoint" type="Deployment:PlanSubcomponentPortEndpoint" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="externalReference" type="Deployment:ExternalReferenceEndpoint" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="deployedResource" type="Deployment:ConnectionResourceDeploymentDescription" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="ImplementationDependency">
+ <xsd:sequence>
+ <xsd:element name="requiredType" type="xsd:string"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="DeploymentPlan">
+ <xsd:sequence>
+ <xsd:element name="label" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="UUID" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="realizes" type="Deployment:ComponentInterfaceDescription" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="implementation" type="Deployment:MonolithicDeploymentDescription" maxOccurs="unbounded" />
+ <xsd:element name="instance" type="Deployment:InstanceDeploymentDescription" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="connection" type="Deployment:PlanConnectionDescription" minOccurs="0" maxOccurs="unbounded"/>
+ <!-- potentially recursive, not used
+ <xsd:element name="externalProperty" type="Deployment:PlanPropertyMapping"/>
+ -->
+ <xsd:element name="dependsOn" type="Deployment:ImplementationDependency" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="artifact" type="Deployment:ArtifactDeploymentDescription" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+
+
+<!-- Implementation -->
+
+
+ <xsd:complexType name="Capability">
+ <xsd:sequence>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="resourceType" type="xsd:string"/>
+ <xsd:element name="property" type="Deployment:SatisfierProperty"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="NamedImplementationArtifact">
+ <xsd:sequence>
+ <xsd:element name="name" type="xsd:string"/>
+ <!-- @@ recursive NIA->IAD->NIA -->
+ <xsd:element name="referencedArtifact" type="Deployment:ImplementationArtifactDescription"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="ImplementationArtifactDescription">
+ <xsd:choice>
+ <xsd:sequence>
+ <xsd:element name="label" type="xsd:string"/>
+ <xsd:element name="UUID" type="xsd:string"/>
+
+ <!-- @@ There probably should be only one location? -->
+ <xsd:element name="location" type="xsd:string" maxOccurs="unbounded"/>
+ <xsd:element name="execParameter" type="Deployment:Property" minOccurs="0"/>
+ <xsd:element name="deployRequirement" type="Deployment:Requirement" minOccurs="0"/>
+ <xsd:element name="dependsOn" type="Deployment:NamedImplementationArtifact" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:element name="contentLocation" type="xsd:string"/>
+ </xsd:choice>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="ImplementationRequirement">
+ <xsd:sequence>
+ <xsd:element name="resourceUsage" type="Deployment:ResourceUsageKind"/>
+ <xsd:element name="resourcePort" type="xsd:string"/>
+ <xsd:element name="componentPort" type="xsd:string"/>
+ <xsd:element name="resourceType" type="xsd:string"/>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="property" type="Deployment:Property"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="MonolithicImplementationDescription">
+ <xsd:sequence>
+ <xsd:element name="execParameter" type="Deployment:Property" minOccurs="0"/>
+ <xsd:element name="primaryArtifact" type="Deployment:NamedImplementationArtifact" maxOccurs="unbounded"/>
+ <xsd:element name="deployRequirement" type="Deployment:ImplementationRequirement" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="PackagedComponentImplementation">
+ <xsd:sequence>
+ <xsd:element name="name" type="xsd:string"/>
+ <!-- @@ recursive CPD->PCI->CID->CAD->SID->CPD -->
+ <xsd:element name="referencedImplementation" type="Deployment:ComponentImplementationDescription"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="ComponentPackageDescription">
+ <xsd:choice>
+ <xsd:sequence>
+ <xsd:element name="label" type="xsd:string"/>
+ <xsd:element name="UUID" type="xsd:string"/>
+ <xsd:element name="realizes" type="Deployment:ComponentInterfaceDescription" minOccurs="0"/>
+ <xsd:element name="configProperty" type="Deployment:Property" minOccurs="0"/>
+ <xsd:element name="implementation" type="Deployment:PackagedComponentImplementation"/>
+ <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:element name="contentLocation" type="xsd:string"/>
+ </xsd:choice>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="ComponentPackageReference">
+ <xsd:sequence>
+ <xsd:element name="requiredUUID" type="xsd:string"/>
+ <xsd:element name="requiredName" type="xsd:string"/>
+ <xsd:element name="requiredType" type="xsd:string"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="SubcomponentInstantiationDescription">
+ <xsd:sequence>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="package" type="Deployment:ComponentPackageDescription"/>
+ <xsd:element name="configProperty" type="Deployment:Property" minOccurs="0"/>
+ <xsd:element name="selectRequirement" type="Deployment:Requirement" minOccurs="0"/>
+ <xsd:element name="reference" type="Deployment:ComponentPackageReference" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="SubcomponentPortEndpoint">
+ <xsd:sequence>
+ <xsd:element name="portName" type="xsd:string"/>
+ <xsd:element name="instance" type="xsd:IDREF"/> <!-- SubcomponentInstantiationDescription -->
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="AssemblyConnectionDescription">
+ <xsd:sequence>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="deployRequirement" type="Deployment:Requirement" minOccurs="0"/>
+ <xsd:element name="externalEndpoint" type="Deployment:ComponentExternalPortEndpoint" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="internalEndpoint" type="Deployment:SubcomponentPortEndpoint" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="externalReference" type="Deployment:ExternalReferenceEndpoint" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="SubcomponentPropertyReference">
+ <xsd:sequence>
+ <xsd:element name="propertyName" type="xsd:string"/>
+ <xsd:element name="instance" type="Deployment:SubcomponentInstantiationDescription"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="AssemblyPropertyMapping">
+ <xsd:sequence>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="externalName" type="xsd:string"/>
+ <xsd:element name="delegatesTo" type="Deployment:SubcomponentPropertyReference"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="ComponentAssemblyDescription">
+ <xsd:sequence>
+ <xsd:element name="instance" type="Deployment:SubcomponentInstantiationDescription" maxOccurs="unbounded"/>
+ <xsd:element name="connection" type="Deployment:AssemblyConnectionDescription" maxOccurs="unbounded"/>
+ <xsd:element name="externalProperty" type="Deployment:AssemblyPropertyMapping" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="ComponentImplementationDescription">
+ <xsd:choice>
+ <xsd:sequence>
+ <xsd:element name="label" type="xsd:string"/>
+ <xsd:element name="UUID" type="xsd:string"/>
+ <xsd:element name="implements" type="Deployment:ComponentInterfaceDescription" minOccurs="0"/>
+ <xsd:choice>
+ <xsd:element name="assemblyImpl" type="Deployment:ComponentAssemblyDescription"/>
+ <xsd:element name="monolithicImpl" type="Deployment:MonolithicImplementationDescription"/>
+ </xsd:choice>
+ <xsd:element name="configProperty" type="Deployment:Property" minOccurs="0"/>
+ <xsd:element name="capability" type="Deployment:Capability" minOccurs="0"/>
+ <xsd:element name="dependsOn" type="Deployment:ImplementationDependency" minOccurs="0"/>
+ <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:element name="contentLocation" type="xsd:string"/>
+ </xsd:choice>
+ </xsd:complexType>
+
+
+<!-- Package -->
+
+
+ <xsd:complexType name="PackageConfiguration">
+ <xsd:choice>
+ <xsd:sequence>
+ <xsd:element name="label" type="xsd:string"/>
+ <xsd:element name="UUID" type="xsd:string"/>
+<!--
+@@ recursive, not used
+ <xsd:element name="specializedConfig" type="Deployment:PackageConfiguration"/>
+-->
+
+ <xsd:element name="basePackage" type="Deployment:ComponentPackageDescription"/>
+ <xsd:element name="reference" type="Deployment:ComponentPackageReference" minOccurs="0"/>
+ <xsd:element name="selectRequirement" type="Deployment:Requirement" minOccurs="0"/>
+ <xsd:element name="configProperty" type="Deployment:Property" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:element name="contentLocation" type="xsd:string"/>
+ </xsd:choice>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="TopLevelPackageDescription">
+ <xsd:sequence>
+ <xsd:element name="package" type="Deployment:PackageConfiguration" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+<!-- Top-level elements. -->
+
+
+ <xsd:element name="domain" type="Deployment:Domain"/>
+ <xsd:element name="deploymentPlan" type="Deployment:DeploymentPlan"/>
+ <xsd:element name="implementationArtifactDescription" type="Deployment:ImplementationArtifactDescription" />
+ <xsd:element name="componentInterfaceDescription" type="Deployment:ComponentInterfaceDescription"/>
+ <xsd:element name="componentImplementationDescription" type="Deployment:ComponentImplementationDescription"/>
+ <xsd:element name="componentPackageDescription" type="Deployment:ComponentPackageDescription"/>
+ <xsd:element name="packageConfiguration" type="Deployment:PackageConfiguration"/>
+ <xsd:element name="topLevelPackageDescription" type="Deployment:TopLevelPackageDescription"/>
+
+
+
+<!-- VAULT
+
+Place for strange things. Nobody knows what they are for...
+
+-->
+
+<!--
+
+ <xsd:complexType name="EnumType">
+ <xsd:sequence>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="typeId" type="xsd:string"/>
+ <xsd:element name="member" type="xsd:string" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="ObjrefType">
+ <xsd:sequence>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="typeId" type="xsd:string"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="BoundedStringType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="bound" type="xsd:string"/>
+ </xsd:choice>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="FixedType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="digits" type="xsd:string"/>
+ <xsd:element name="scale" type="xsd:string"/>
+ </xsd:choice>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="ArrayType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="length" type="xsd:string"/>
+ <xsd:element name="elementType" type="Deployment:DataType"/>
+ </xsd:choice>
+ </xsd:complexType>
+
+ <xsd:complexType name="SequenceType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="bound" type="xsd:string"/>
+ <xsd:element name="elementType" type="Deployment:DataType"/>
+ </xsd:choice>
+ </xsd:complexType>
+
+ <xsd:complexType name="AliasType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="typeId" type="xsd:string"/>
+ <xsd:element name="elementType" type="Deployment:DataType"/>
+ </xsd:choice>
+ </xsd:complexType>
+
+ <xsd:complexType name="StructType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="typeId" type="xsd:string"/>
+ <xsd:element name="member" type="Deployment:StructMemberType"/>
+ </xsd:choice>
+ </xsd:complexType>
+
+ <xsd:complexType name="StructMemberType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="type" type="Deployment:DataType"/>
+ </xsd:choice>
+ </xsd:complexType>
+
+ <xsd:complexType name="ValueType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="typeId" type="xsd:string"/>
+ <xsd:element name="modifier" type="xsd:string"/>
+ <xsd:element name="baseType" type="Deployment:DataType"/>
+ <xsd:element name="member" type="Deployment:ValueMemberType"/>
+ </xsd:choice>
+ </xsd:complexType>
+
+ <xsd:complexType name="ValueMemberType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="visibility" type="xsd:string"/>
+ <xsd:element name="type" type="Deployment:DataType"/>
+ </xsd:choice>
+ </xsd:complexType>
+
+ <xsd:complexType name="UnionType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="typeId" type="xsd:string"/>
+ <xsd:element name="default" type="Deployment:UnionMemberType"/>
+ <xsd:element name="discriminatorType" type="Deployment:DataType"/>
+ <xsd:element name="member" type="Deployment:UnionMemberType"/>
+ </xsd:choice>
+ </xsd:complexType>
+
+ <xsd:complexType name="UnionMemberType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="type" type="Deployment:DataType"/>
+ <xsd:element name="label" type="Deployment:DataValue"/>
+ </xsd:choice>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="NamedValue">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="value" type="Deployment:DataValue"/>
+ </xsd:choice>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Bridge">
+ <xsd:sequence>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="label" type="xsd:string"/>
+ <xsd:element name="connect" type="Deployment:Interconnect"/>
+ <xsd:element name="resource" type="Deployment:Resource"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="Interconnect">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="label" type="xsd:string"/>
+ <xsd:element name="connection" type="Deployment:Bridge"/>
+ <xsd:element name="connect" type="Deployment:Node"/>
+ <xsd:element name="resource" type="Deployment:Resource"/>
+ </xsd:choice>
+ </xsd:complexType>
+
+ <xsd:complexType name="PlanPropertyMapping">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="source" type="xsd:string"/>
+ <xsd:element name="externalName" type="xsd:string"/>
+ <xsd:element name="delegatesTo" type="Deployment:PlanSubcomponentPropertyReference"/>
+ </xsd:choice>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="PlanSubcomponentPropertyReference">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="propertyName" type="xsd:string"/>
+ <xsd:element name="instance" type="Deployment:InstanceDeploymentDescription"/>
+ </xsd:choice>
+ </xsd:complexType>
+
+-->
+
+<!--
+
+ This type is not referenced anywhere.
+
+ <xsd:complexType name="RequirementSatisfier">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="resourceType" type="xsd:string"/>
+ <xsd:element name="property" type="Deployment:SatisfierProperty"/>
+ </xsd:choice>
+ </xsd:complexType>
+
+-->
+
+</xsd:schema>
diff --git a/modules/CIAO/RACE/descriptors/XMI.xsd b/modules/CIAO/RACE/descriptors/XMI.xsd
new file mode 100644
index 00000000000..f4adac91934
--- /dev/null
+++ b/modules/CIAO/RACE/descriptors/XMI.xsd
@@ -0,0 +1,35 @@
+<?xml version="1.0" ?>
+<xsd:schema targetNamespace="http://www.omg.org/XMI" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation='http://www.w3.org/2001/XMLSchema XMLSchema.xsd'>
+ <xsd:attribute name="id" type="xsd:ID" />
+ <xsd:attributeGroup name="IdentityAttribs">
+ <xsd:attribute form="qualified" name="label" type="xsd:string" use="optional" />
+ <xsd:attribute form="qualified" name="uuid" type="xsd:string" use="optional" />
+ </xsd:attributeGroup>
+ <xsd:attributeGroup name="LinkAttribs">
+ <xsd:attribute name="href" type="xsd:string" use="optional" />
+ <xsd:attribute form="qualified" name="idref" type="xsd:IDREF" use="optional" />
+ </xsd:attributeGroup>
+ <xsd:attributeGroup name="ObjectAttribs">
+ <xsd:attributeGroup ref="xmi:IdentityAttribs" />
+ <xsd:attributeGroup ref="xmi:LinkAttribs" />
+ <xsd:attribute fixed="2.0" form="qualified" name="version" type="xsd:string" use="optional" />
+ <xsd:attribute form="qualified" name="type" type="xsd:QName" use="optional" />
+ </xsd:attributeGroup>
+ <xsd:complexType name="Extension">
+ <xsd:choice maxOccurs="unbounded" minOccurs="0">
+ <xsd:any processContents="lax" />
+ </xsd:choice>
+ <xsd:attribute ref="xmi:id" />
+ <xsd:attributeGroup ref="xmi:ObjectAttribs" />
+ <xsd:attribute name="extender" type="xsd:string" use="optional" />
+ <xsd:attribute name="extenderID" type="xsd:string" use="optional" />
+ </xsd:complexType>
+ <xsd:element name="Extension" type="xmi:Extension" />
+ <xsd:complexType name="Any">
+ <xsd:choice maxOccurs="unbounded" minOccurs="0">
+ <xsd:any processContents="skip" />
+ </xsd:choice>
+ <xsd:anyAttribute processContents="skip" />
+ </xsd:complexType>
+</xsd:schema>
diff --git a/modules/CIAO/RACE/descriptors/deployment.dat b/modules/CIAO/RACE/descriptors/deployment.dat
new file mode 100644
index 00000000000..d0aec354bad
--- /dev/null
+++ b/modules/CIAO/RACE/descriptors/deployment.dat
@@ -0,0 +1 @@
+SoleNode corbaloc:iiop:localhost:30000/NodeManager
diff --git a/modules/CIAO/RACE/descriptors/flattened_deploymentplan.cdp b/modules/CIAO/RACE/descriptors/flattened_deploymentplan.cdp
new file mode 100644
index 00000000000..0648c10eab8
--- /dev/null
+++ b/modules/CIAO/RACE/descriptors/flattened_deploymentplan.cdp
@@ -0,0 +1,361 @@
+<Deployment:deploymentPlan
+ xmlns:Deployment="http://www.omg.org/Deployment"
+ xmlns:xmi="http://www.omg.org/XMI"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.omg.org/Deployment Modified_Deployment.xsd">
+
+ <label>DeploymentManager-DeploymentPlan</label>
+ <!-- Could be ZERO -->
+ <realizes>
+ <label>BasicSP-realizes-cid</label>
+ <UUID>c0965470-7b83-11d9-9669-0800200c9a66</UUID>
+ <specificType><!-- @@ What does here? --></specificType>
+ <supportedType>IDL:BasicSP/EC:1.0</supportedType>
+ <port>
+ <name>deployment_stage_port</name>
+ <specificType>IDL:RACE/deployment_stage:1.0</specificType>
+ <supportedType>IDL:RACE/deployment_stage:1.0</supportedType>
+ <provider>false></provider>
+ <exclusiveProvider>false</exclusiveProvider>
+ <exclusiveUser>true</exclusiveUser>
+ <optional>false</optional>
+ <kind>SimplexReceptacle</kind>
+ </port>
+ </realizes>
+
+ <implementation id="RACE-Interactive_Input_Adapter-mdd">
+ <name>RACE-Interactive_Input_Adapter-mdd</name>
+ <source><!-- @@ Don't know what goes here --></source>
+ <artifact>RACE-Interactive_Input_Adapter_exec</artifact>
+ <artifact>RACE-Interactive_Input_Adapter_svnt</artifact>
+ <!--
+ <execParameter></execParameter>
+ <deployRequirement></deployRequirement>
+ -->
+ </implementation>
+
+ <implementation id="RACE-Plan_Analyzer-mdd">
+ <name>RACE-Plan_Analyzer-mdd</name>
+ <source><!-- @@ Don't know what goes here --></source>
+ <artifact>RACE-Plan_Analyzer_exec</artifact>
+ <artifact>RACE-Plan_Analyzer_svnt</artifact>
+ <!--
+ <execParameter></execParameter>
+ <deployRequirement></deployRequirement>
+ -->
+ </implementation>
+
+ <implementation id="RACE-Planner_Manager-mdd">
+ <name>RACE-Planner_Manager-mdd</name>
+ <source><!-- @@ Don't know what goes here --></source>
+ <artifact>RACE-Planner_Manager_exec</artifact>
+ <artifact>RACE-Planner_Manager_svnt</artifact>
+ <!--
+ <execParameter></execParameter>
+ <deployRequirement></deployRequirement>
+ -->
+ </implementation>
+
+ <implementation id="RACE-SimpleBinPacker-mdd">
+ <name>RACE-SimpleBinPacker-mdd</name>
+ <source><!-- @@ Don't know what goes here --></source>
+ <artifact>RACE-SimpleBinPacker_exec</artifact>
+ <artifact>RACE-SimpleBinPacker_svnt</artifact>
+ <!--
+ <execParameter></execParameter>
+ <deployRequirement></deployRequirement>
+ -->
+ </implementation>
+
+ <implementation id="RACE-XML_Output_Adapter-mdd">
+ <name>RACE-XML_Output_Adapter-mdd</name>
+ <source><!-- @@ Don't know what goes here --></source>
+ <artifact>RACE-XML_Output_Adapter_exec</artifact>
+ <artifact>RACE-XML_Output_Adapter_svnt</artifact>
+ <!--
+ <execParameter></execParameter>
+ <deployRequirement></deployRequirement>
+ -->
+ </implementation>
+
+ <instance id="RACE-Interactive_Input_Adapter-idd">
+ <name>RACE-Interactive_Input_Adapter-idd</name>
+ <node>SoleNode</node>
+ <source><!-- @@ What goes here --></source>
+ <implementation>RACE-Interactive_Input_Adapter-mdd</implementation>
+ </instance>
+
+ <instance id="RACE-Plan_Analyzer-idd">
+ <name>RACE-Plan_Analyzer-idd</name>
+ <node>SoleNode</node>
+ <source><!-- @@ What goes here --></source>
+ <implementation>RACE-Plan_Analyzer-mdd</implementation>
+ </instance>
+
+ <instance id="RACE-Planner_Manager-idd">
+ <name>RACE-Planner_Manager-idd</name>
+ <node>SoleNode</node>
+ <source><!-- @@ What goes here --></source>
+ <implementation>RACE-Planner_Manager-mdd</implementation>
+ </instance>
+
+ <instance id="RACE-SimpleBinPacker-idd">
+ <name>RACE-SimpleBinPacker-idd</name>
+ <node>SoleNode</node>
+ <source><!-- @@ What goes here --></source>
+ <implementation>RACE-SimpleBinPacker-mdd</implementation>
+ </instance>
+
+ <instance id="RACE-XML_Output_Adapter-idd">
+ <name>RACE-XML_Output_Adapter-idd</name>
+ <node>SoleNode</node>
+ <source><!-- @@ What goes here --></source>
+ <implementation>RACE-XML_Output_Adapter-mdd</implementation>
+ </instance>
+
+ <!-- BEGIN Connections -->
+
+ <connection>
+ <name>forward_Plan_Analyzer</name>
+ <internalEndpoint>
+ <portName>plan_ingress</portName>
+ <kind>Facet</kind>
+ <instance>RACE-Plan_Analyzer-idd</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>ingress</portName>
+ <kind>SimplexReceptacle</kind>
+ <instance>RACE-Interactive_Input_Adapter-idd</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>forward_Planner_Manager</name>
+ <internalEndpoint>
+ <portName>planner_manager_i</portName>
+ <kind>Facet</kind>
+ <instance>RACE-Planner_Manager-idd</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>planner_manager_i</portName>
+ <kind>SimplexReceptacle</kind>
+ <instance>RACE-Plan_Analyzer-idd</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>access_SimpleBinPacker</name>
+ <internalEndpoint>
+ <portName>planner_i</portName>
+ <kind>Facet</kind>
+ <instance>RACE-SimpleBinPacker-idd</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>planners</portName>
+ <kind>SimplexReceptacle</kind>
+ <instance>RACE-Planner_Manager-idd</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>forward_XML_Output_Adapter</name>
+ <internalEndpoint>
+ <portName>plan_egress</portName>
+ <kind>Facet</kind>
+ <instance>RACE-XML_Output_Adapter-idd</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>outputs</portName>
+ <kind>SimplexReceptacle</kind>
+ <instance>RACE-Planner_Manager-idd</instance>
+ </internalEndpoint>
+ </connection>
+
+ <!-- END Connections -->
+
+ <!-- @@ Runtime library name must match exactly in "location" tag -->
+ <artifact id="RACE-Interactive_Input_Adapter_exec">
+ <name>Interactive_Input_Adapter_exec</name>
+ <source><!-- @@ Not sure about this--></source>
+ <node><!-- blank --></node>
+ <location>Interactive_Input_Adapter_exec</location>
+ <execParameter>
+ <name>entryPoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>createInteractive_Input_Adapter_Home_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+
+ <artifact id="RACE-Interactive_Input_Adapter_svnt">
+ <name>Interactive_Input_Adapter_svnt</name>
+ <source><!-- @@ Not sure --></source>
+ <node><!-- blank --></node>
+ <location>Interactive_Input_Adapter_svnt</location>
+ <execParameter>
+ <name>entryPoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>createInteractive_Input_Adapter_Home_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+
+ <!-- @@ Runtime library name must match exactly in "location" tag -->
+ <artifact id="RACE-Plan_Analyzer_exec">
+ <name>Plan_Analyzer_exec</name>
+ <source><!-- @@ Not sure about this--></source>
+ <node><!-- blank --></node>
+ <location>Plan_Analyzer_exec</location>
+ <execParameter>
+ <name>entryPoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>createPlan_Analyzer_Home_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+
+ <artifact id="RACE-Plan_Analyzer_svnt">
+ <name>Plan_Analyzer_svnt</name>
+ <source><!-- @@ Not sure --></source>
+ <node><!-- blank --></node>
+ <location>Plan_Analyzer_svnt</location>
+ <execParameter>
+ <name>entryPoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>createPlan_Analyzer_Home_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+
+ <!-- @@ Runtime library name must match exactly in "location" tag -->
+ <artifact id="RACE-Planner_Manager_exec">
+ <name>Planner_Manager_exec</name>
+ <source><!-- @@ Not sure about this--></source>
+ <node><!-- blank --></node>
+ <location>Planner_Manager_exec</location>
+ <execParameter>
+ <name>entryPoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>createPlanner_Manager_Home_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+
+ <artifact id="RACE-Planner_Manager_svnt">
+ <name>Planner_Manager_svnt</name>
+ <source><!-- @@ Not sure --></source>
+ <node><!-- blank --></node>
+ <location>Planner_Manager_svnt</location>
+ <execParameter>
+ <name>entryPoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>createPlanner_Manager_Home_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+
+ <!-- @@ Runtime library name must match exactly in "location" tag -->
+ <artifact id="RACE-SimpleBinPacker_exec">
+ <name>SimpleBinPacker_exec</name>
+ <source><!-- @@ Not sure about this--></source>
+ <node><!-- blank --></node>
+ <location>SimpleBinPacker_exec</location>
+ <execParameter>
+ <name>entryPoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>createSimpleBinPacker_Home_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+
+ <artifact id="RACE-SimpleBinPacker_svnt">
+ <name>SimpleBinPacker_svnt</name>
+ <source><!-- @@ Not sure --></source>
+ <node><!-- blank --></node>
+ <location>SimpleBinPacker_svnt</location>
+ <execParameter>
+ <name>entryPoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>createSimpleBinPacker_Home_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+
+ <!-- @@ Runtime library name must match exactly in "location" tag -->
+ <artifact id="RACE-XML_Output_Adapter_exec">
+ <name>XML_Output_Adapter_exec</name>
+ <source><!-- @@ Not sure about this--></source>
+ <node><!-- blank --></node>
+ <location>XML_Output_Adapter_exec</location>
+ <execParameter>
+ <name>entryPoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>createXML_Output_Adapter_Home_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+
+ <artifact id="RACE-XML_Output_Adapter_svnt">
+ <name>XML_Output_Adapter_svnt</name>
+ <source><!-- @@ Not sure --></source>
+ <node><!-- blank --></node>
+ <location>XML_Output_Adapter_svnt</location>
+ <execParameter>
+ <name>entryPoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>createXML_Output_Adapter_Home_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+
+</Deployment:deploymentPlan>