1 // File: Config_PropManager.h
2 // Created: 13 Aug 2014
3 // Author: Vitaly SMETANNIKOV
5 #ifndef Config_PropManager_H
6 #define Config_PropManager_H
8 #include "Config_def.h"
9 #include "Config_Prop.h"
15 //! Class wihich let to register properties
16 class Config_PropManager
21 * Registers property parameters
22 * \param theOwnerId - name of owner (name of plugin for example)
23 * \param theSection - name of section (domain of using) of the property.
24 * \param theName - name (title) of the value.
25 * \param theType - type of the value.
26 * \param theValue - initial value of the property
27 * Returns True if the property succesfully registered
29 CONFIG_EXPORT static bool registerProp(const std::string& theSection, const std::string& theName,
30 const std::string& theTitle, Config_Prop::PropType theType, const std::string& theValue);
32 CONFIG_EXPORT static Config_Prop* findProp(
33 const std::string& theSection, const std::string& theName);
35 CONFIG_EXPORT static Config_Properties getProperties();
37 //! Returns list of registered section names.
38 CONFIG_EXPORT static std::list<std::string> getSections();
40 //! Returns list of properties by its owner and section.
41 CONFIG_EXPORT static Config_Properties getProperties(const std::string& theSection);
43 //! Returns value of the property by its owner, section, and name
44 CONFIG_EXPORT static std::string string(
45 const std::string& theSection, const std::string& theName, const std::string& theDefault);
47 CONFIG_EXPORT static std::vector<int> color(
48 const std::string& theSection, const std::string& theName, const std::string& theDefault);
50 CONFIG_EXPORT static int integer(
51 const std::string& theSection, const std::string& theName, const std::string& theDefault);
53 CONFIG_EXPORT static double real(
54 const std::string& theSection, const std::string& theName, const std::string& theDefault);
57 CONFIG_EXPORT static Config_Properties myProps;