From bae92cea3bcbacd7883499da61a0e54f13da6d23 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 26 Nov 2018 20:47:47 +0100 Subject: wanda: architecture rework --- src/main.cpp | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) (limited to 'src/main.cpp') diff --git a/src/main.cpp b/src/main.cpp index fb2e0bf..38fdf7f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4,13 +4,25 @@ #include #include -int main() { +#include + +int main() +{ using namespace wanda::literals; using namespace wanda::std_ext; + using namespace std::string_literals; - with("org.gnome.desktop.background"_setting, [](auto & setting){ - with(setting.template get("picture-uri"_key), [](auto & value){ - std::cout << value << '\n'; - }) || []{ std::cerr << "No such key!\n"; }; - }) || []{ std::cerr << "No such setting!\n"; }; + with("org.gnome.desktop.background"_setting, [](auto &setting) { + with(setting["picture-uri"_key], [](auto &value) { + std::visit([](auto &&value) { + using ValueType = std::decay_t; + if constexpr (std::is_same_v) + { + std::cout << value << '\n'; + } + }, + *value); + std::cout << (value = "file:///"s) << '\n'; + }) || [] { std::cerr << "No such key!\n"; }; + }) || [] { std::cerr << "No such setting!\n"; }; } -- cgit v1.2.3