StopStrategy.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "../data_structure/ApplicationInstance.h"
4 #include "../parser/StatusManager.h"
5 #include "ApplicationStopper.h"
6 
7 using ApplicationInstancePtr = std::shared_ptr<ScenarioManager::Data_Structure::ApplicationInstance>;
9 {
10  using ApplicationInstancePtr = std::shared_ptr<ApplicationInstance>;
11 }
12 namespace ScenarioManager::Exec
13 {
14  class ApplicationStopper;
15  typedef std::shared_ptr<ApplicationStopper> ApplicationStopperPtr;
16 
17  /**
18  * @class StopStrategy
19  * @ingroup exec
20  * @brief Interface for classes that define how an application get stopped.
21  */
23  {
24  protected:
26 
27  public:
29 
30  /**
31  * Stops an application. Implement this method to define the behaviour when stopping applications.
32  * @param application application to be stopped.
33  */
34  virtual void stop(Data_Structure::ApplicationInstancePtr application) = 0;
35  virtual void removeApplication(Data_Structure::ApplicationInstancePtr application, StatusManager statusManager);
36  virtual void removeScenario(Data_Structure::ScenarioPtr scenario, StatusManager statusManager);
37  };
38 
39  using StopStrategyPtr = std::shared_ptr<StopStrategy>;
40 }
ScenarioManager::Data_Structure::ApplicationInstancePtr
std::shared_ptr< ApplicationInstance > ApplicationInstancePtr
Definition: ApplicationInstance.h:33
ScenarioManager::Data_Structure::ScenarioPtr
std::shared_ptr< Scenario > ScenarioPtr
Definition: Scenario.h:36
ScenarioManager::Exec
Definition: ApplicationStarter.h:35
ScenarioManager::Exec::StopStrategy::stop
virtual void stop(Data_Structure::ApplicationInstancePtr application)=0
Stops an application.
ScenarioManager::Exec::ApplicationStopperPtr
std::shared_ptr< ApplicationStopper > ApplicationStopperPtr
Definition: ApplicationStopper.h:58
ScenarioManager::Exec::StopStrategyPtr
std::shared_ptr< StopStrategy > StopStrategyPtr
Definition: Executor.h:46
ScenarioManager::Exec::StopStrategy::removeScenario
virtual void removeScenario(Data_Structure::ScenarioPtr scenario, StatusManager statusManager)
Definition: StopStrategy.cpp:43
ScenarioManager::Exec::StopStrategy::StopStrategy
StopStrategy(ApplicationStopperPtr stopper)
Definition: StopStrategy.cpp:32
ApplicationInstancePtr
std::shared_ptr< ScenarioManager::Data_Structure::ApplicationInstance > ApplicationInstancePtr
Definition: StopStrategy.h:7
ScenarioManager::Exec::StopStrategy::stopper
ApplicationStopperPtr stopper
Definition: StopStrategy.h:25
ScenarioManager::Data_Structure
Definition: Application.cpp:166
ScenarioManager::StatusManager
Definition: StatusManager.h:7
ApplicationStopper.h
ScenarioManager::Exec::StopStrategy::removeApplication
virtual void removeApplication(Data_Structure::ApplicationInstancePtr application, StatusManager statusManager)
Definition: StopStrategy.cpp:37
ScenarioManager::Exec::StopStrategy
Interface for classes that define how an application get stopped.
Definition: StopStrategy.h:22