#pragma once #include "util/generic.h" #include "compat/misc.h" #include #include #include #include namespace profile { struct SettingCategory { std::string name; std::vector settings; SettingCategory(const std::string& name); SettingCategory(); ~SettingCategory(); }; class Settings { public: std::vector categories; umap settings; NamedGeneric* getSetting(const std::string& name); ~Settings(); void clear(); void loadDescriptors(const std::string& filename); void addCategory(SettingCategory* cat); void loadSettings(const std::string& filename); void saveSettings(const std::string& filename); }; };