From f4d9880d3c9555b48affad727589ef5c093b1841 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Fri, 16 Sep 2022 23:28:09 +0200 Subject: source: clean up structure --- source/src/wanda/wandac.cpp | 94 --------------------------------------------- 1 file changed, 94 deletions(-) delete mode 100644 source/src/wanda/wandac.cpp (limited to 'source/src/wanda/wandac.cpp') diff --git a/source/src/wanda/wandac.cpp b/source/src/wanda/wandac.cpp deleted file mode 100644 index 1873ef4..0000000 --- a/source/src/wanda/wandac.cpp +++ /dev/null @@ -1,94 +0,0 @@ -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#include -#include - -struct cli -{ - std::string command{}; - bool help{}; - - lyra::cli_parser parser{}; - - auto parse(int argc, char const * const * argv, std::ostream & error) - { - parser |= lyra::arg{command, "command"}("The command to send to the deamon").required() | - lyra::help(help); - - auto result = parser.parse({argc, argv}); - - if (!result) - { - error << "Error while processing command line arguments: " - << result.message() - << '\n' - << parser - << '\n'; - return false; - } - - return true; - } -}; - -struct listener : wanda::commander::listener -{ - listener(::cli & cli, asio::io_service & service) - : m_cli{cli} - , m_service{service} - { - } - - void on_connected(wanda::commander & commander) override - { - if (m_cli.command == "change") - { - commander.send(wanda::make_change_command()); - m_service.post([&]{ - commander.stop(); - }); - } - } - -private: - ::cli & m_cli; - asio::io_service & m_service; -}; - -int main(int argc, char const * const * argv) -{ - auto cli = ::cli{}; - if (!cli.parse(argc, argv, std::cerr)) - { - return EXIT_FAILURE; - } - else if (cli.help) - { - std::cout << cli.parser << '\n'; - return EXIT_SUCCESS; - } - - wanda::initialize_logger(std::make_shared()); - - auto interface = wanda::xdg_path_for(wanda::xdg_directory::runtime_dir, wanda::environment{}) / ".wanda_interface"; - auto service = asio::io_service{}; - auto listener = ::listener{cli, service}; - - auto commander = wanda::commander{service, interface, listener}; - - wanda::get_logger()->info("trying to connect to wanda control interface on '{}'", interface.native()); - commander.start(); - - service.run(); -} -- cgit v1.2.3