diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2024-05-17 17:58:38 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2024-05-17 17:58:38 +0200 |
| commit | 577fc0845718ed8ad5bebf02a277c0579a817f77 (patch) | |
| tree | 3d1cdc53c426a0ba60a7996619a7b787850bb3b3 /source/app/wandac | |
| parent | de5bf7ca3b7a2bf6be35b86486b00dc6a071b950 (diff) | |
| download | wanda-develop.tar.xz wanda-develop.zip | |
Diffstat (limited to 'source/app/wandac')
| -rw-r--r-- | source/app/wandac/CMakeLists.txt | 37 | ||||
| -rw-r--r-- | source/app/wandac/include/wandac/cli.hpp | 27 | ||||
| -rw-r--r-- | source/app/wandac/include/wandac/listener.hpp | 26 | ||||
| -rw-r--r-- | source/app/wandac/src/cli.cpp | 30 | ||||
| -rw-r--r-- | source/app/wandac/src/listener.cpp | 30 | ||||
| -rw-r--r-- | source/app/wandac/src/main.cpp | 43 |
6 files changed, 0 insertions, 193 deletions
diff --git a/source/app/wandac/CMakeLists.txt b/source/app/wandac/CMakeLists.txt deleted file mode 100644 index 71aff36..0000000 --- a/source/app/wandac/CMakeLists.txt +++ /dev/null @@ -1,37 +0,0 @@ -add_library("${PROJECT_NAME}c-components" OBJECT - "src/cli.cpp" - "src/listener.cpp" -) - -target_include_directories("${PROJECT_NAME}c-components" PUBLIC - "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>" -) - -target_link_libraries("${PROJECT_NAME}c-components" PUBLIC - "wanda::control" - "wanda::proto" - - "bfg::lyra" - "Boost::headers" -) - -add_executable("wandac" - "src/main.cpp" -) - - -target_link_libraries("${PROJECT_NAME}c" PRIVATE - "${PROJECT_NAME}c-components" - - "wanda::system" - - "spdlog::spdlog_header_only" -) - -set_target_properties("wandac" PROPERTIES - CXX_STANDARD_REQUIRED YES - CXX_EXTENSIONS OFF - INTERPROCEDURAL_OPTIMIZATION ${WANDA_IPO_SUPPORTED} -) - -install(TARGETS "wandac") diff --git a/source/app/wandac/include/wandac/cli.hpp b/source/app/wandac/include/wandac/cli.hpp deleted file mode 100644 index c04b138..0000000 --- a/source/app/wandac/include/wandac/cli.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef WANDA_APP_WANDAC_CLI_HPP -#define WANDA_APP_WANDAC_CLI_HPP - -#include <lyra/args.hpp> -#include <lyra/cli_parser.hpp> - -#include <iosfwd> -#include <string> - -namespace wandac -{ - - struct cli - { - auto parse(lyra::args arguments, std::ostream & error_stream) -> bool; - auto print_usage(std::ostream & output_stream) -> void; - - std::string command{}; - bool help{}; - - private: - lyra::cli_parser parser{}; - }; - -} // namespace wandac - -#endif
\ No newline at end of file diff --git a/source/app/wandac/include/wandac/listener.hpp b/source/app/wandac/include/wandac/listener.hpp deleted file mode 100644 index 49b75b6..0000000 --- a/source/app/wandac/include/wandac/listener.hpp +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef WANDA_APP_WANDAC_LISTENER_HPP -#define WANDA_APP_WANDAC_LISTENER_HPP - -#include "wandac/cli.hpp" - -#include <wanda/control/commander.hpp> - -#include <boost/asio/io_context.hpp> - -namespace wandac -{ - - struct listener : wanda::control::commander::listener - { - listener(wandac::cli const & cli, boost::asio::io_context & service); - - auto on_connected(wanda::control::commander & commander) -> void override ; - - private: - wandac::cli const & m_cli; - boost::asio::io_context & m_service; - }; - -} // namespace wandac - -#endif
\ No newline at end of file diff --git a/source/app/wandac/src/cli.cpp b/source/app/wandac/src/cli.cpp deleted file mode 100644 index 954ca63..0000000 --- a/source/app/wandac/src/cli.cpp +++ /dev/null @@ -1,30 +0,0 @@ -#include "wandac/cli.hpp" - -#include <lyra/arg.hpp> -#include <lyra/help.hpp> - -#include <ostream> - -namespace wandac -{ - - auto cli::parse(lyra::args arguments, std::ostream & error_stream) -> bool - { - parser |= // - lyra::help(help) | // - lyra::arg{command, "command"}("The command to send to the deamon").required(); - - auto result = parser.parse(arguments); - - if (!result) - { - error_stream << "Error while processing command line arguments: " << result.message() << '\n' << parser << '\n'; - return false; - } - - return true; - } - - auto cli::print_usage(std::ostream & output_stream) -> void { output_stream << parser << '\n'; } - -} // namespace wandac diff --git a/source/app/wandac/src/listener.cpp b/source/app/wandac/src/listener.cpp deleted file mode 100644 index 9655390..0000000 --- a/source/app/wandac/src/listener.cpp +++ /dev/null @@ -1,30 +0,0 @@ -#include "wandac/listener.hpp" - -#include "wanda/control/commander.hpp" -#include "wandac/cli.hpp" - -#include <wanda/control/commander.hpp> -#include <wanda/proto/command.hpp> - -#include <boost/asio/io_context.hpp> - -namespace wandac -{ - - listener::listener(wandac::cli const & cli, boost::asio::io_context & service) - : m_cli{cli} - , m_service{service} - { - } - - auto listener::on_connected(wanda::control::commander & commander) -> void - { - if (m_cli.command == "change") - { - commander.send(wanda::proto::make_change_command()); - - post(m_service, [&] { commander.stop(); }); - } - } - -} // namespace wandac diff --git a/source/app/wandac/src/main.cpp b/source/app/wandac/src/main.cpp deleted file mode 100644 index 4e68e0b..0000000 --- a/source/app/wandac/src/main.cpp +++ /dev/null @@ -1,43 +0,0 @@ -#include "wandac/cli.hpp" -#include "wandac/listener.hpp" - -#include <wanda/control/commander.hpp> -#include <wanda/system/environment.hpp> -#include <wanda/system/logging.hpp> -#include <wanda/system/xdg.hpp> - -#include <boost/asio/io_context.hpp> -#include <spdlog/sinks/stdout_color_sinks.h> - -#include <cstdlib> -#include <filesystem> -#include <iostream> - -int main(int argc, char const * const * argv) -{ - auto cli = wandac::cli{}; - if (!cli.parse({argc, argv}, std::cerr)) - { - return EXIT_FAILURE; - } - else if (cli.help) - { - cli.print_usage(std::cout); - return EXIT_SUCCESS; - } - - wanda::system::initialize_logger(std::make_shared<spdlog::sinks::stderr_color_sink_st>()); - - auto environment = wanda::system::environment{}; - auto runtime_dir = wanda::system::xdg_path_for(wanda::system::xdg_directory::runtime_dir, environment); - auto interface = runtime_dir / ".wanda_interface"; - auto service = boost::asio::io_context{}; - auto listener = wandac::listener{cli, service}; - - auto commander = wanda::control::commander{service, interface, listener}; - - wanda::system::get_logger()->info("trying to connect to wanda control interface on '{}'", interface.native()); - commander.start(); - - service.run(); -} |
