Class ApplicationManager

Class Documentation

class ApplicationManager

Command line application manager, stores and initializes dependencies. Defines and executes the control flow of the application. The flow is defined as a sequence of Tasks, executed one by one, the whole pipeline fails if one task fails.

Public Functions

inline explicit ApplicationManager(ApplicationSettings &application_settings)

Constructs the ApplicationManager object.

Parameters

application_settings – reference to ApplicationSettings instance

virtual ~ApplicationManager() = default
inline ApplicationSettings &get_application_settings()
inline const ApplicationSettings &get_application_settings() const
inline ApplicationHandler &get_application_handler()
inline const ApplicationHandler &get_application_handler() const
inline SessionHandler &get_session_handler()
inline const SessionHandler &get_session_handler() const
inline WorkflowManager &get_workflow_manager()
inline const WorkflowManager &get_workflow_manager() const
inline void set_workflow_commands(const std::vector<ApplicationHandler::Command> &commands)
inline const std::vector<ApplicationHandler::Command> &get_workflow_commands()
inline EventDispatcher &get_event_dispatcher()
inline const EventDispatcher &get_event_dispatcher() const
inline ProgressInfo &get_progress_info()
inline const ProgressInfo &get_progress_info() const
ApplicationManager &add(const std::shared_ptr<Task> &task_ptr)

Appends a new task to ordered list of tasks.

Parameters

task_ptr – shared pointer to an instance of Task subclass

Returns

Reference to this

bool run()

Runs pipeline from task sequence.

Returns

Returns true on success, otherwise false

inline size_t size()

Returns size of task list.