Elements
5.12
A C++ base framework for the Euclid Software.
|
Go to the documentation of this file.
26 #ifndef ELEMENTSKERNEL_ELEMENTSKERNEL_PROGRAMMANAGER_H_
27 #define ELEMENTSKERNEL_ELEMENTSKERNEL_PROGRAMMANAGER_H_
34 #include <boost/program_options/parsers.hpp>
35 #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;
138 static const Path::Item setProgramName(
char* arg0);
148 static const Path::Item setProgramPath(
char* arg0);
155 void setup(
int argc,
char* argv[]);
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);
287 #endif // ELEMENTSKERNEL_ELEMENTSKERNEL_PROGRAMMANAGER_H_
defines the macros to be used for explicit export of the symbols
std::unique_ptr< Program > m_program_ptr
provide functions to retrieve resources pointed by environment variables
boost::filesystem::path Item
variables_map VariablesMap
Class for managing all Elements programs.
define a list of standard exit codes for executables
std::string m_parent_project_version
std::string m_parent_project_name
ExitCode
Strongly typed exit numbers.
Path::Item m_program_path
#define ELEMENTS_API
Dummy definitions for the backward compatibility mode.
Path::Item m_program_name
std::vector< std::string > m_search_dirs
std::string m_parent_module_name
std::string m_parent_module_version
Defines a class to handle the Environment.
define an abstract class for all Elements program
log4cpp::Priority::Value m_elements_loglevel
std::string m_parent_project_vcs_version