ifw-slm 0.1.2
 
Loading...
Searching...
No Matches
application.hpp
Go to the documentation of this file.
1
9#ifndef IFWSLM_APPLICATION_HPP
10#define IFWSLM_APPLICATION_HPP
11
14#include <map>
15#include <string>
16
17namespace ifw::slm {
18
27public:
28 explicit Application(const std::string& mod_name = CONFIG_DEFAULT_MODNAME,
29 const std::string& config_filename = CONFIG_DEFAULT_FILENAME);
31
32 void RegisterLoopActionFactory(int loop_index, ActionMgr::LoopActionFactory factory);
36
37 int Run(int argc, char* argv[]);
38
39 Application(const Application&) = delete;
41
42private:
43 std::string m_mod_name;
44 std::string m_config_filename;
45 std::map<int, ActionMgr::LoopActionFactory> m_loop_factories;
46 std::map<int, ActionMgr::LoopSuspendedActionFactory> m_loop_suspended_factories;
47 std::map<int, ActionMgr::LoopCloseActionFactory> m_loop_close_factories;
48 std::map<int, ActionMgr::LoopExecuteActivityFactory> m_loop_activity_factories;
49};
50
51} // namespace ifw::slm
52#endif // IFWSLM_APPLICATION_HPP
ActionMgr class header file with factory support.
std::function< BaseLoopExecuteActivity *( const std::string &, rad::SMAdapter &, DataContext &, int, LoopCompletionHandler *)> LoopExecuteActivityFactory
Definition actionMgr.hpp:53
std::function< BaseLoopActions *( const std::string &, rad::Application &, rad::ConfigurableActionMgr &, DataContext &, int, std::shared_ptr< LoopCompletionHandler >)> LoopActionFactory
Definition actionMgr.hpp:42
std::function< BaseLoopCloseActions *( const std::string &, rad::Application &, rad::ConfigurableActionMgr &, DataContext &, int, std::shared_ptr< LoopCompletionHandler >)> LoopCloseActionFactory
Definition actionMgr.hpp:48
std::function< BaseLoopSuspendedActions *( const std::string &, rad::Application &, rad::ConfigurableActionMgr &, DataContext &, int, std::shared_ptr< LoopCompletionHandler >)> LoopSuspendedActionFactory
Definition actionMgr.hpp:45
Application(const Application &)=delete
int Run(int argc, char *argv[])
Definition application.cpp:89
void RegisterLoopSuspendedActionFactory(int loop_index, ActionMgr::LoopSuspendedActionFactory factory)
Definition application.cpp:77
void RegisterLoopExecuteActivityFactory(int loop_index, ActionMgr::LoopExecuteActivityFactory factory)
Definition application.cpp:85
Application(const std::string &mod_name=CONFIG_DEFAULT_MODNAME, const std::string &config_filename=CONFIG_DEFAULT_FILENAME)
Definition application.cpp:69
void RegisterLoopCloseActionFactory(int loop_index, ActionMgr::LoopCloseActionFactory factory)
Definition application.cpp:81
Application & operator=(const Application &)=delete
void RegisterLoopActionFactory(int loop_index, ActionMgr::LoopActionFactory factory)
Definition application.cpp:73
Config class header file.
Definition actionMgr.cpp:29
const std::string CONFIG_DEFAULT_FILENAME
Definition config.hpp:23
const std::string CONFIG_DEFAULT_MODNAME
Definition config.hpp:21