Client.cpp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /*
  2. * Copyright (c) 2021, Andreas Kling <kling@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #include <LibConfig/Client.h>
  7. namespace Config {
  8. static RefPtr<Client> s_the = nullptr;
  9. Client& Client::the()
  10. {
  11. if (!s_the || !s_the->is_open())
  12. s_the = Client::construct();
  13. return *s_the;
  14. }
  15. String Client::read_string(StringView domain, StringView group, StringView key, StringView fallback)
  16. {
  17. return read_string_value(domain, group, key).value_or(fallback);
  18. }
  19. i32 Client::read_i32(StringView domain, StringView group, StringView key, i32 fallback)
  20. {
  21. return read_i32_value(domain, group, key).value_or(fallback);
  22. }
  23. bool Client::read_bool(StringView domain, StringView group, StringView key, bool fallback)
  24. {
  25. return read_bool_value(domain, group, key).value_or(fallback);
  26. }
  27. void Client::write_string(StringView domain, StringView group, StringView key, StringView value)
  28. {
  29. async_write_string_value(domain, group, key, value);
  30. }
  31. void Client::write_i32(StringView domain, StringView group, StringView key, i32 value)
  32. {
  33. async_write_i32_value(domain, group, key, value);
  34. }
  35. void Client::write_bool(StringView domain, StringView group, StringView key, bool value)
  36. {
  37. async_write_bool_value(domain, group, key, value);
  38. }
  39. }