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>
69 const log4cpp::Priority::Value& elements_loglevel = log4cpp::Priority::DEBUG);
85 ExitCode run(
int argc,
char* argv[]);
98 static void onTerminate() noexcept;
155 void setup(
int argc,
char* argv[]);
167 const boost::program_options::variables_map getProgramOptions(
int argc,
184 void logAllOptions()
const;
189 void logTheEnvironment()
const;
196 void bootstrapEnvironment(
char* arg0);
204 template<
class charT>
205 void checkCommandLineOptions(
const boost::program_options::basic_parsed_options<charT>& cmd_line_options);
216 boost::program_options::variables_map m_variables_map {};
287 #endif // ELEMENTSKERNEL_ELEMENTSKERNEL_PROGRAMMANAGER_H_
ExitCode
Strongly typed exit numbers.
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.
define a list of standard exit codes for executables
Defines a class to handle the Environment.