1 #ifndef _CONFIGURATION_MANAGER_H 2 #define _CONFIGURATION_MANAGER_H 14 #include <storage_client.h> 15 #include <config_category.h> 33 const std::string& categoryDescription,
34 const std::string& categoryItems,
35 bool keepOriginalIterms =
false)
const;
40 const std::string& itemName)
const;
45 const std::string& itemName,
46 const std::string& newValue)
const;
51 const std::string& childCategories)
const;
60 const std::string& childCategory)
const;
65 const std::string& itemName)
const;
72 const std::string& itemName)
const;
78 void mergeCategoryValues(rapidjson::Value& inputValues,
79 const rapidjson::Value* storedValues,
80 rapidjson::Document::AllocatorType& allocator,
81 bool keepOriginalitems)
const;
83 std::string fetchChildCategories(
const std::string& parentCategoryName)
const;
84 std::string getCategoryDescription(
const std::string& categoryName)
const;
96 virtual const char* what()
const throw()
98 return "Config category does not exist";
107 virtual const char* what()
const throw()
109 return "Failure while fetching config category item value";
123 virtual const char* what()
const throw()
125 return m_error.c_str();
137 virtual const char* what()
const throw()
139 return "Cannot access category informations";
148 virtual const char* what()
const throw()
150 return "Failure while performing insert or update operation";
159 virtual const char* what()
const throw()
161 return "Data type not supported";
170 virtual const char* what()
const throw()
172 return "Failure while fetching all config categories";
181 virtual const char* what()
const throw()
183 return "The config category being inserted/updated has both default and value properties for items";
192 virtual const char* what()
const throw()
194 return "Failure while setting/fetching a config category";
203 virtual const char* what()
const throw()
205 return "Failure while setting/fetching child categories";
214 virtual const char* what()
const throw()
216 return "Requested child categories are already set for the given parent category";
CategoryDetailsEx.
Definition: configuration_manager.h:135
Definition: config_category.h:56
std::string addChildCategory(const std::string &parentCategoryName, const std::string &childCategories) const
Add child categories under a given (parent) category.
Definition: configuration_manager.cpp:667
std::string getCategoryItemValue(const std::string &categoryName, const std::string &itemName) const
Get the value of a given item within a given category.
Definition: configuration_manager.cpp:563
static ConfigurationManager * getInstance(const std::string &, short unsigned int)
Return the singleton instance of the configuration manager.
Definition: configuration_manager.cpp:45
std::string deleteCategoryItemValue(const std::string &categoryName, const std::string &itemName) const
Unset the category item value.
Definition: configuration_manager.cpp:1031
ConfigCategories deleteCategory(const std::string &categoryName) const
Delete a category from database.
Definition: configuration_manager.cpp:1063
Definition: config_category.h:37
Definition: configuration_manager.h:18
NoSuchItem.
Definition: configuration_manager.h:116
ConfigCategoryEx.
Definition: configuration_manager.h:190
NoSuchCategoryItemValue.
Definition: configuration_manager.h:105
NotSupportedDataType.
Definition: configuration_manager.h:157
ConfigCategory getCategoryAllItems(const std::string &categoryName) const
Return all the items of a specific category from the storage layer.
Definition: configuration_manager.cpp:142
ConfigCategoryDefaultWithValue.
Definition: configuration_manager.h:179
bool setCategoryItemValue(const std::string &categoryName, const std::string &itemName, const std::string &newValue) const
Set the "value" entry of a given item within a given category.
Definition: configuration_manager.cpp:596
AllCategoriesEx.
Definition: configuration_manager.h:168
std::string deleteChildCategory(const std::string &parentCategoryName, const std::string &childCategory) const
Remove the link between a child category and its parent.
Definition: configuration_manager.cpp:992
NoSuchCategory.
Definition: configuration_manager.h:94
ExistingChildCategories.
Definition: configuration_manager.h:212
Client for accessing the storage service.
Definition: storage_client.h:43
ConfigCategories getAllCategoryNames() const
Return all Fledge categories from storage layer.
Definition: configuration_manager.cpp:62
ConfigCategory createCategory(const std::string &categoryName, const std::string &categoryDescription, const std::string &categoryItems, bool keepOriginalIterms=false) const
Create or update a new category.
Definition: configuration_manager.cpp:243
ConfigCategories getChildCategories(const std::string &parentCategoryName) const
Get all the child categories of a given category name.
Definition: configuration_manager.cpp:905
ChildCategoriesEx.
Definition: configuration_manager.h:201
std::string getCategoryItem(const std::string &categoryName, const std::string &itemName) const
Get a given item within a given category.
Definition: configuration_manager.cpp:549
StorageOperation.
Definition: configuration_manager.h:146