// // libtgvoip is free and unencumbered public domain software. // For more information, see http://unlicense.org or the UNLICENSE file // you should have received with this source code distribution. // #ifndef TGVOIP_VOIPSERVERCONFIG_H #define TGVOIP_VOIPSERVERCONFIG_H #include #include #include #include "threading.h" namespace tgvoip{ class ServerConfig{ public: ServerConfig(); ~ServerConfig(); static ServerConfig* GetSharedInstance(); int32_t GetInt(std::string name, int32_t fallback); double GetDouble(std::string name, double fallback); std::string GetString(std::string name, std::string fallback); bool GetBoolean(std::string name, bool fallback); void Update(std::map newValues); void Update(const char **values, int count); private: static ServerConfig* sharedInstance; bool ContainsKey(std::string key); std::map config; tgvoip_mutex_t mutex; }; } #endif //TGVOIP_VOIPSERVERCONFIG_H