#ifndef DANCE_LOCALITYMANAGER_IDL #define DANCE_LOCALITYMANAGER_IDL #include "Deployment/Deployment_Application.idl" #include "Deployment/Deployment_ApplicationManager.idl" #include "Deployment/Deployment_InvalidProperty.idl" #include "Deployment/Deployment_InvalidNodeExecParameter.idl" #include "Deployment/Deployment_InvalidComponentExecParameter.idl" #include "Deployment/Deployment_InvalidConnection.idl" #include "Deployment/Deployment_StopError.idl" #include "Deployment/Deployment_StopError.idl" #include "Deployment/Deployment_PlanError.idl" #include "Deployment/Deployment_ResourceNotAvailable.idl" #include "Deployment/Deployment_ResourceCommitmentManager.idl" module DAnCE { /** * @interface InstanceDeploymentHandler * @brief Interface used to manage the lifecycle of instances. * * This interface is used by the LocalityManager to manage the lifecycle * of various instance types. Each instance type requires a separate IDH. */ local interface InstanceDeploymentHandler { readonly attribute string instance_type; readonly attribute ::CORBA::StringSeq dependencies; void configure (in ::Deployment::Properties config); void install_instance (in ::Deployment::DeploymentPlan plan, in unsigned long instanceRef, out any instance_reference) raises (Deployment::StartError, Deployment::InvalidProperty, Deployment::InvalidNodeExecParameter, Deployment::InvalidComponentExecParameter); void provide_endpoint_reference (in ::Deployment::DeploymentPlan plan, in unsigned long connectionRef, out any endpoint_reference) raises (Deployment::StartError, Deployment::InvalidProperty); void connect_instance (in ::Deployment::DeploymentPlan plan, in unsigned long connectionRef, in any provided_reference) raises (Deployment::StartError, Deployment::InvalidConnection); void disconnect_instance (in ::Deployment::DeploymentPlan plan, in unsigned long connectionRef) raises (::Deployment::StopError); void instance_configured (in ::Deployment::DeploymentPlan plan, in unsigned long instanceRef) raises (Deployment::StartError); void activate_instance (in ::Deployment::DeploymentPlan plan, in unsigned long instanceRef, in any instance_reference) raises (Deployment::StartError); void passivate_instance (in ::Deployment::DeploymentPlan plan, in unsigned long instanceRef, in any instance_reference) raises (Deployment::StopError); void remove_instance (in ::Deployment::DeploymentPlan plan, in unsigned long instanceRef, in any instance_reference) raises (::Deployment::StopError); /// Instruct the handler to release any resources prior to deallocation. void close (); }; interface LocalityManager : Deployment::Application, Deployment::ApplicationManager { readonly attribute ::Deployment::Properties configuration; Deployment::ApplicationManager preparePlan (in Deployment::DeploymentPlan plan, in Deployment::ResourceCommitmentManager resourceCommitment) raises (Deployment::StartError, Deployment::PlanError); void destroyManager (in ::Deployment::ApplicationManager manager) raises (Deployment::StopError); oneway void shutdown (); }; local interface LocalityConfiguration { readonly attribute string type; void configure (in ::Deployment::Property prop); }; interface LocalityManagerActivator { void locality_manager_callback (in LocalityManager ref, in string uuid, out Deployment::Properties config); void configuration_complete (in string uuid); }; }; #endif