// $Id$
#ifndef EXECUTIONMANAGER_IDL
#define EXECUTIONMANAGER_IDL

#include "dance/Deployment/Deployment_DomainApplicationManager.idl"
#include "dance/Deployment/Deployment_ResourceCommitmentManager.idl"
#include "dance/Deployment/Deployment_PlanError.idl"

module Deployment {
  interface ExecutionManager {
    DomainApplicationManager preparePlan (in DeploymentPlan plan,
                                          in ResourceCommitmentManager resourceCommitment)
                        raises (ResourceNotAvailable, PlanError, StartError);
    DomainApplicationManagers getManagers ();
    void destroyManager (in DomainApplicationManager manager)
                        raises (StopError);
  };
};

#endif /* EXECUTIONMANAGER_IDL */
