30 [[nodiscard]]
static std::shared_ptr<SdlPref>
31 instance(
const std::string& name = SdlPref::get_default_file(
false),
32 const std::string& systemName = SdlPref::get_default_file(
true));
34 [[nodiscard]] std::string get_pref_file(
bool systemConfigOnly =
false)
const;
36 [[nodiscard]] std::string get_string(
const std::string& key,
const std::string& fallback =
"",
37 bool systemConfigOnly =
false)
const;
38 [[nodiscard]] int64_t get_int(
const std::string& key, int64_t fallback = 0,
39 bool systemConfigOnly =
false)
const;
40 [[nodiscard]]
bool get_bool(
const std::string& key,
bool fallback =
false,
41 bool systemConfigOnly =
false)
const;
42 [[nodiscard]] std::vector<std::string> get_array(
const std::string& key,
43 const std::vector<std::string>& fallback = {},
44 bool systemConfigOnly =
false)
const;
46 [[nodiscard]]
bool is_commandline_override_allowed()
const;
48 static void print_config_file_help(
int version);
54 std::string _system_name;
55 WINPR_JSONPtr _config;
56 WINPR_JSONPtr _system_config;
58 SdlPref(std::string file, std::string systemFile);
60 [[nodiscard]] WINPR_JSON* get_item(
const std::string& key,
bool systemConfigOnly)
const;
61 [[nodiscard]] WINPR_JSON* get_item(
const WINPR_JSONPtr& config,
const std::string& key)
const;
63 [[nodiscard]] WINPR_JSONPtr get(
bool systemConfigOnly)
const;
64 [[nodiscard]]
bool get_bool(
const WINPR_JSONPtr& config,
const std::string& key,
65 bool fallback =
false)
const;
67 [[nodiscard]]
bool is_user_config_enabled()
const;
69 [[nodiscard]]
static std::string get_default_file(
bool systemConfigOnly);
70 [[nodiscard]]
static std::string item_to_str(WINPR_JSON* item,
71 const std::string& fallback =
"");