26 #ifndef ELEMENTSKERNEL_ELEMENTSKERNEL_PROGRAMMANAGER_H_
27 #define ELEMENTSKERNEL_ELEMENTSKERNEL_PROGRAMMANAGER_H_
34 #include <boost/filesystem.hpp>
35 #include <boost/program_options.hpp>
36 #include <log4cpp/Priority.hh>
68 const log4cpp::Priority::Value& elements_loglevel = log4cpp::Priority::DEBUG);
84 ExitCode run(
int argc,
char* argv[]);
97 static void onTerminate() noexcept;
154 void setup(
int argc,
char* argv[]);
166 const boost::program_options::variables_map getProgramOptions(
int argc,
183 void logAllOptions()
const;
188 void logTheEnvironment()
const;
195 void bootstrapEnvironment(
char* arg0);
203 template<
class charT>
204 void checkCommandLineOptions(
const boost::program_options::basic_parsed_options<charT>& cmd_line_options);
215 boost::program_options::variables_map m_variables_map {};
286 #endif // ELEMENTSKERNEL_ELEMENTSKERNEL_PROGRAMMANAGER_H_
std::string m_parent_project_vcs_version
log4cpp::Priority::Value m_elements_loglevel
std::string m_parent_project_version
boost::filesystem::path m_program_name
std::unique_ptr< Program > m_program_ptr
defines the macros to be used for explicit export of the symbols
boost::filesystem::path m_program_path
std::string m_parent_project_name
Class for managing all Elements programs.
std::string m_parent_module_name
boost::filesystem::path path
std::string m_parent_module_version
std::vector< std::string > m_search_dirs
define an abstract class for all Elements program
#define ELEMENTS_API
Dummy definitions for the backward compatibility mode.
ExitCode
Strongly typed exit numbers.
define a list of standard exit codes for executables
Defines a class to handle the Environment.