30  static std::shared_ptr<SdlPref>
 
   31  instance(
const std::string& name = SdlPref::get_default_file(
false));
 
   33  [[nodiscard]] std::string get_pref_file(
bool systemConfigOnly = 
false) 
const;
 
   35  [[nodiscard]] std::string get_string(
const std::string& key, 
const std::string& fallback = 
"",
 
   36                                       bool systemConfigOnly = 
false) 
const;
 
   37  [[nodiscard]] int64_t get_int(
const std::string& key, int64_t fallback = 0,
 
   38                                bool systemConfigOnly = 
false) 
const;
 
   39  [[nodiscard]] 
bool get_bool(
const std::string& key, 
bool fallback = 
false,
 
   40                              bool systemConfigOnly = 
false) 
const;
 
   41  [[nodiscard]] std::vector<std::string> get_array(
const std::string& key,
 
   42                                                   const std::vector<std::string>& fallback = {},
 
   43                                                   bool systemConfigOnly = 
false) 
const;
 
   45  static void print_config_file_help(
int version);
 
   51  std::string _system_name;
 
   52  WINPR_JSONPtr _config;
 
   53  WINPR_JSONPtr _system_config;
 
   55  explicit SdlPref(std::string file);
 
   57  [[nodiscard]] WINPR_JSON* get_item(
const std::string& key, 
bool systemConfigOnly) 
const;
 
   58  [[nodiscard]] WINPR_JSON* get_item(
const WINPR_JSONPtr& config, 
const std::string& key) 
const;
 
   60  [[nodiscard]] WINPR_JSONPtr get(
bool systemConfigOnly) 
const;
 
   61  [[nodiscard]] 
bool get_bool(
const WINPR_JSONPtr& config, 
const std::string& key,
 
   62                              bool fallback = 
false) 
const;
 
   64  [[nodiscard]] 
bool is_user_config_enabled() 
const;
 
   66  static std::string get_pref_dir(
bool systemConfigOnly);
 
   67  static std::string get_default_file(
bool systemConfigOnly);
 
   68  static std::string item_to_str(WINPR_JSON* item, 
const std::string& fallback = 
"");