Subsonic API: better compability with clients

This commit is contained in:
emeric
2021-09-24 12:37:54 +02:00
parent 5aa0e835cd
commit 828e2364a7
17 changed files with 405 additions and 204 deletions
+6 -4
View File
@@ -18,8 +18,9 @@
*/
#pragma once
#include <string_view>
#include <filesystem>
#include <functional>
#include <string_view>
// Used to get config values from configuration files
class IConfig
@@ -30,10 +31,11 @@ class IConfig
// Default values are returned in case of setting not found
virtual std::string_view getString(std::string_view setting, std::string_view def = "") = 0;
virtual void visitStrings(std::string_view setting, std::function<void(std::string_view)> _func, std::initializer_list<std::string_view> def = {}) = 0;
virtual std::filesystem::path getPath(std::string_view setting, const std::filesystem::path& def = std::filesystem::path()) = 0;
virtual unsigned long getULong(std::string_view setting, unsigned long def = 0) = 0;
virtual long getLong(std::string_view setting, long def = 0) = 0;
virtual bool getBool(std::string_view setting, bool def = false) = 0;
virtual unsigned long getULong(std::string_view setting, unsigned long def = 0) = 0;
virtual long getLong(std::string_view setting, long def = 0) = 0;
virtual bool getBool(std::string_view setting, bool def = false) = 0;
};