Elements
6.2
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>
66 const log4cpp::Priority::Value& elements_loglevel = log4cpp::Priority::DEBUG);
82 ExitCode run(
int argc,
char* argv[]);
95 static void onTerminate() noexcept;
132 static const Path::Item setProgramName(
char* arg0);
142 static const Path::Item setProgramPath(
char* arg0);
149 void setup(
int argc,
char* argv[]);
176 void logAllOptions()
const;
181 void logTheEnvironment()
const;
188 void bootstrapEnvironment(
char* arg0);
196 template <
class charT>
197 void checkCommandLineOptions(
const boost::program_options::basic_parsed_options<charT>& cmd_line_options);
277 #endif // ELEMENTSKERNEL_ELEMENTSKERNEL_PROGRAMMANAGER_H_
boost::filesystem::path Item
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
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.
Python dictionary-like Environment interface.
define an abstract class for all Elements program
log4cpp::Priority::Value m_elements_loglevel
std::string m_parent_project_vcs_version