34 #ifndef _Wolframe_serialize_DESCRIPTIVE_CONFIG_HPP_INCLUDED
35 #define _Wolframe_serialize_DESCRIPTIVE_CONFIG_HPP_INCLUDED
73 if (!
m_baseptr)
throw std::logic_error(
"configuration structure base pointer not set with setBasePtr(void*)");
77 catch (
const std::runtime_error& e)
89 virtual void print( std::ostream& os,
size_t indent=0)
const
91 std::string indentstr( indent,
' ');
92 os << indentstr <<
"Configuration of " <<
m_classname <<
":" << std::endl;
bool parse(const config::ConfigurationNode &pt, const std::string &node, const module::ModulesDirectory *)
Parse the configuration section.
Definition: descriptiveConfiguration.hpp:68
Top-level include file for logging (version 1)
Definition: descriptiveConfiguration.hpp:44
Property tree node.
Definition: propertyTree.hpp:86
Base class for structure description used for introspection in serialization/deserialization.
Definition: structDescriptionBase.hpp:51
void setBasePtr(void *baseptr_)
Definition: descriptiveConfiguration.hpp:55
DescriptiveConfiguration(const char *sectionName_, const char *logParent_, const char *logName_, const serialize::StructDescriptionBase *descr_)
Definition: descriptiveConfiguration.hpp:48
std::string structureToStringVP(const void *stptr, const serialize::StructDescriptionBase *descr)
The modules directory used by the constructors of the providers to build themselves.
Definition: moduleDirectory.hpp:48
virtual ~DescriptiveConfiguration()
Definition: descriptiveConfiguration.hpp:60
NamedConfiguration(const char *sectionName_, const char *logParent_, const char *logPrefix_)
Class constructor.
Definition: configurationBase.hpp:130
std::string logtext() const
Defines functions for serialization/deserialization of configuration.
const Position & position() const
Definition: propertyTree.hpp:143
Base classes for the configuration structures.
void parseConfigStructureVP(void *stptr, const serialize::StructDescriptionBase *descr, const config::ConfigurationNode &pt)
#define LOG_ERROR
Definition: logger-v1.hpp:109
const std::string & logPrefix() const
Definition: configurationBase.hpp:83
A named configuration is a normal configuration that provides also an className function.
Definition: configurationBase.hpp:126
virtual void print(std::ostream &os, size_t indent=0) const
Definition: descriptiveConfiguration.hpp:89
const serialize::StructDescriptionBase * m_descr
Definition: descriptiveConfiguration.hpp:98
bool check() const
Definition: descriptiveConfiguration.hpp:84
void * m_baseptr
Definition: descriptiveConfiguration.hpp:99
const std::string m_classname
Definition: descriptiveConfiguration.hpp:97
Configuration tree for the configuration parser.
virtual const char * className() const
Definition: descriptiveConfiguration.hpp:63