summaryrefslogtreecommitdiff
path: root/TAO/CIAO/DAnCE/RepositoryManager/Update_Plan.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/CIAO/DAnCE/RepositoryManager/Update_Plan.h')
-rw-r--r--TAO/CIAO/DAnCE/RepositoryManager/Update_Plan.h123
1 files changed, 123 insertions, 0 deletions
diff --git a/TAO/CIAO/DAnCE/RepositoryManager/Update_Plan.h b/TAO/CIAO/DAnCE/RepositoryManager/Update_Plan.h
new file mode 100644
index 00000000000..9c3125092fd
--- /dev/null
+++ b/TAO/CIAO/DAnCE/RepositoryManager/Update_Plan.h
@@ -0,0 +1,123 @@
+/*=======================================================================
+ *
+ * @file Update_Plan.h
+ *
+ * $Id$
+ *
+ * @brief This file contains declarations for helper functions
+ * used in updating the deployment plan data structure from
+ * PackageConfiguration data structure.
+ *
+ * @author Jaiganesh Balasubramanian <jai@dre.vanderbilt.edu>
+ *
+ *======================================================================*/
+
+#ifndef CIAO_REPOSITORY_MANAGER_UPDATE_PLAN_H
+#define CIAO_REPOSITORY_MANAGER_UPDATE_PLAN_H
+#include /**/ "ace/pre.h"
+
+#include "ace/Hash_Map_Manager.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+
+namespace Deployment
+{
+ struct SubcomponentInstantiationDescription;
+ struct DeploymentPlan;
+ struct ComponentAssemblyDescription;
+ struct SubcomponentInstantiationDescription;
+ struct AssemblyConnectionDescription;
+}
+
+namespace CIAO
+{
+ class Null_Dom_Document { };
+ // exception thrown when we have a null dom document.
+
+ typedef ACE_Hash_Map_Manager<ACE_TString, int, ACE_Null_Mutex> REF_MAP;
+ typedef ACE_Hash_Map_Manager<int, int, ACE_Null_Mutex> ART_REF_MAP;
+
+ void
+ traverse_assembly_instance (Deployment::
+ SubcomponentInstantiationDescription &instance,
+ Deployment::DeploymentPlan &plan,
+ int l,
+ REF_MAP &ref_map,
+ REF_MAP &primary_ref_map,
+ REF_MAP &plan_ref_map);
+
+ void traverse_assembly (Deployment::ComponentAssemblyDescription &assembly,
+ Deployment::DeploymentPlan &plan,
+ REF_MAP &ref_map, REF_MAP &primary_ref_map,
+ REF_MAP &plan_ref_map);
+
+ void traverse_interface (Deployment::SubcomponentInstantiationDescription
+ &instance,
+ Deployment::PlanSubcomponentPortEndpoint
+ &pspe);
+
+ void traverse_assembly_connection (Deployment::ComponentAssemblyDescription
+ &assembly,
+ Deployment::AssemblyConnectionDescription
+ &assembly_connection,
+ Deployment::DeploymentPlan &plan);
+
+ void traverse_package (Deployment::PackageConfiguration* &pc,
+ Deployment::DeploymentPlan &plan,
+ REF_MAP &ref_map, REF_MAP &primary_ref_map);
+
+ void update_artifacts (Deployment::MonolithicImplementationDescription &mid,
+ Deployment::DeploymentPlan &plan,
+ Deployment::InstanceDeploymentDescription &instance,
+ REF_MAP &ref_map, REF_MAP &primary_ref_map,
+ ART_REF_MAP &art_ref_map,
+ REF_MAP &plan_ref_map,
+ Deployment::MonolithicDeploymentDescription &mdd);
+
+ void update_artifact_location (Deployment::ImplementationArtifactDescription
+ &pack_iad,
+ Deployment::ArtifactDeploymentDescription
+ &plan_artifact);
+
+ void update_artifact_property (Deployment::ImplementationArtifactDescription
+ &pack_iad,
+ Deployment::ArtifactDeploymentDescription
+ &plan_artifact);
+
+ void update_impl_art_ref (Deployment::MonolithicDeploymentDescription
+ &mid, int art_len);
+
+ void update_impl_config_property (Deployment::
+ PackagedComponentImplementation &impl,
+ Deployment::
+ MonolithicDeploymentDescription &mid,
+ Deployment::
+ InstanceDeploymentDescription
+ &instance);
+
+ void update_config_property (Deployment::
+ SubcomponentInstantiationDescription
+ &sub_instance,
+ Deployment::
+ InstanceDeploymentDescription
+ &instance);
+
+ void update_common_artifact_and_art_ref (Deployment::
+ ImplementationArtifactDescription &pack_iad,
+ REF_MAP &primary_ref_map,
+ REF_MAP &ref_map,
+ ART_REF_MAP &art_ref_map,
+ REF_MAP &plan_ref_map,
+ Deployment::MonolithicDeploymentDescription
+ &mid,
+ Deployment::DeploymentPlan &plan,
+ Deployment::
+ InstanceDeploymentDescription
+ &instance);
+}
+
+#include /**/ "ace/post.h"
+#endif /* CIAO_REPOSITORY_MANAGER_UPDATE_PLAN_H*/