aboutsummaryrefslogtreecommitdiff
path: root/source/app/wandac
diff options
context:
space:
mode:
Diffstat (limited to 'source/app/wandac')
-rw-r--r--source/app/wandac/CMakeLists.txt37
-rw-r--r--source/app/wandac/include/wandac/cli.hpp27
-rw-r--r--source/app/wandac/include/wandac/listener.hpp26
-rw-r--r--source/app/wandac/src/cli.cpp30
-rw-r--r--source/app/wandac/src/listener.cpp30
-rw-r--r--source/app/wandac/src/main.cpp43
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();
-}