From e2dad5f30ca4d8502558e0560d2059a51aae4c4c Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 19 Aug 2024 09:11:09 +0200 Subject: core: add settings accessor --- core/src/settings.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 core/src/settings.cpp (limited to 'core/src') diff --git a/core/src/settings.cpp b/core/src/settings.cpp new file mode 100644 index 0000000..c98e5eb --- /dev/null +++ b/core/src/settings.cpp @@ -0,0 +1,28 @@ +#include "turns/core/settings.hpp" + +#include +#include + +#include +#include + +#include + +namespace turns::core +{ + + auto get_settings() -> Glib::RefPtr + { + auto constexpr schema_id = "ch.arknet.Turns"; + +#ifdef TURNS_SETTINGS_SCHEMA_DIR + auto source = Gio::SettingsSchemaSource::create(TURNS_SETTINGS_SCHEMA_DIR "/glib-2.0/schemas", true); + auto schema = source->lookup(schema_id, true); + auto settings = g_settings_new_full(Glib::unwrap(schema), nullptr, nullptr); + return Glib::wrap(settings); +#else + return Gio::Settings::create(schema); +#endif + } + +} // namespace turns::core -- cgit v1.2.3