diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2023-09-07 15:41:09 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2023-09-07 15:41:09 +0200 |
| commit | bbda83f674a97e80cf89bff3d12737dd5ecc3243 (patch) | |
| tree | b37a1c465eaa2f999fdde87547a44caaf8ff97e1 /source/app/wandac/include | |
| parent | 8e48049013a5a6668d2bd3c1bcb1fbc0ddd9534d (diff) | |
| download | wanda-bbda83f674a97e80cf89bff3d12737dd5ecc3243.tar.xz wanda-bbda83f674a97e80cf89bff3d12737dd5ecc3243.zip | |
wandac: extract cli and commander listener
Diffstat (limited to 'source/app/wandac/include')
| -rw-r--r-- | source/app/wandac/include/wandac/cli.hpp | 27 | ||||
| -rw-r--r-- | source/app/wandac/include/wandac/listener.hpp | 26 |
2 files changed, 53 insertions, 0 deletions
diff --git a/source/app/wandac/include/wandac/cli.hpp b/source/app/wandac/include/wandac/cli.hpp new file mode 100644 index 0000000..c04b138 --- /dev/null +++ b/source/app/wandac/include/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/app/wandac/include/wandac/listener.hpp b/source/app/wandac/include/wandac/listener.hpp new file mode 100644 index 0000000..49b75b6 --- /dev/null +++ b/source/app/wandac/include/wandac/listener.hpp @@ -0,0 +1,26 @@ +#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 |
