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_EXPORT 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 static bool registerProp(const std::string& theSection,
30 const std::string& theName,
31 const std::string& theTitle,
32 Config_Prop::PropType theType,
33 const std::string& theValue);
35 static Config_Prop* findProp(const std::string& theSection,
36 const std::string& theName);
38 static Config_Properties getProperties();
40 //! Returns list of registered section names.
41 static std::list<std::string> getSections();
43 //! Returns list of properties by its owner and section.
44 static Config_Properties getProperties(const std::string& theSection);
46 //! Returns value of the property by its owner, section, and name
47 static std::string string(const std::string& theSection,
48 const std::string& theName,
49 const std::string& theDefault);
50 static std::vector<int> color(const std::string& theSection,
51 const std::string& theName,
52 const std::string& theDefault);
53 static int integer(const std::string& theSection,
54 const std::string& theName,
55 const std::string& theDefault);
56 static double real(const std::string& theSection,
57 const std::string& theName,
58 const std::string& theDefault);
61 static Config_Properties myProps;