diff options
Diffstat (limited to 'modules/CIAO/DAnCE/Utils/Plan_Handler.h')
-rw-r--r-- | modules/CIAO/DAnCE/Utils/Plan_Handler.h | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/modules/CIAO/DAnCE/Utils/Plan_Handler.h b/modules/CIAO/DAnCE/Utils/Plan_Handler.h new file mode 100644 index 00000000000..591853b68a6 --- /dev/null +++ b/modules/CIAO/DAnCE/Utils/Plan_Handler.h @@ -0,0 +1,75 @@ +//$Id$ +/*======================================================== + * + * @file Plan_Handler.h + * + * @brief This file contains the implementation of + * the Plan_Handler class. + * + * @author Gan Deng <gan.deng@vanderbilt.edu> + *========================================================*/ + +#ifndef CIAO_DANCE_UTILS_H +#define CIAO_DANCE_UTILS_H + +#include "DAnCE_Utils_Export.h" +#include "Deployment/Deployment_DeploymentPlanC.h" + +namespace DAnCE +{ + class ImplementationNotFound {}; + class InstanceNotFound {}; + class ConnectionNotFound {}; + + /** + * @class Plan_Handler + * + * This class takes an existing deployment plan as input, and + * can modify the deployment plan internals. + * + * The main methods on this class are: + * + * - Add a instance to the deployment plan; + * - Add a connection to the deployment plan; + * - Remove a connection from the deployment plan; + * - Remove a instance (and, consequently all its connection) from the + * deployment plan; + * - Show all instances in the deployment plan; + * - Show all connections in the deployment plan; + */ + + class DAnCE_Utils_Export DAnCE_Utils + { + public: + static void add_instance ( + ::Deployment::DeploymentPlan &deployment_plan, + const char *instance_name, + const char *node_name, + const char *impl_name, + const char *ns_name = 0); + + static void add_connection ( + ::Deployment::DeploymentPlan &deployment_plan, + const char *connection_name, + const char *port_name, + const char *facet_instance, + const char *receptacle_instance); + + static void remove_instance ( + ::Deployment::DeploymentPlan &deployment_plan, + const char *instance_name); + + static void remove_connection ( + ::Deployment::DeploymentPlan &deployment_plan, + const char *connection_name); + + static void print_instances ( + const ::Deployment::DeploymentPlan &deployment_plan); + + static void print_connections ( + const ::Deployment::DeploymentPlan &deployment_plan); + }; +} + +#endif /* CIAO_DANCE_UTILS_H */ + |