aboutsummaryrefslogtreecommitdiff
path: root/source/apps/include/wanda
diff options
context:
space:
mode:
Diffstat (limited to 'source/apps/include/wanda')
-rw-r--r--source/apps/include/wanda/wandac/cli.hpp27
-rw-r--r--source/apps/include/wanda/wandac/listener.hpp26
2 files changed, 53 insertions, 0 deletions
diff --git a/source/apps/include/wanda/wandac/cli.hpp b/source/apps/include/wanda/wandac/cli.hpp
new file mode 100644
index 0000000..c04b138
--- /dev/null
+++ b/source/apps/include/wanda/wandac/cli.hpp
@@ -0,0 +1,27 @@
+#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/apps/include/wanda/wandac/listener.hpp b/source/apps/include/wanda/wandac/listener.hpp
new file mode 100644
index 0000000..28b0cfc
--- /dev/null
+++ b/source/apps/include/wanda/wandac/listener.hpp
@@ -0,0 +1,26 @@
+#ifndef WANDA_APP_WANDAC_LISTENER_HPP
+#define WANDA_APP_WANDAC_LISTENER_HPP
+
+#include "wanda/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