annotate irccdctl/cli.hpp @ 822:5120b9793d1f

tests: add common server error tests
author David Demelier <markand@malikania.fr>
date Fri, 30 Nov 2018 14:06:13 +0100
parents 49fa22f0b4b9
children 06cc2f95f479
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
344
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * cli.hpp -- command line for irccdctl
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 *
628
27587ff92a64 Misc: update copyrights
David Demelier <markand@malikania.fr>
parents: 603
diff changeset
4 * Copyright (c) 2013-2018 David Demelier <markand@malikania.fr>
344
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 *
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 * copyright notice and this permission notice appear in all copies.
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 *
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 */
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
603
986ed3a7575d Misc: fix includes style, closes #732
David Demelier <markand@malikania.fr>
parents: 528
diff changeset
19 #ifndef IRCCD_CTL_CLI_HPP
986ed3a7575d Misc: fix includes style, closes #732
David Demelier <markand@malikania.fr>
parents: 528
diff changeset
20 #define IRCCD_CTL_CLI_HPP
344
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
21
758
445c071e8efb Irccd: Javascript API cleanup
David Demelier <markand@malikania.fr>
parents: 752
diff changeset
22 #include <functional>
528
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents: 527
diff changeset
23 #include <stdexcept>
344
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 #include <string>
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
25 #include <string_view>
344
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 #include <vector>
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
27
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 #include <json.hpp>
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
29
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
30 namespace irccd::ctl {
527
a88796ed040a Irccdctl: switch to Boost.Asio, closes #697
David Demelier <markand@malikania.fr>
parents: 453
diff changeset
31
a88796ed040a Irccdctl: switch to Boost.Asio, closes #697
David Demelier <markand@malikania.fr>
parents: 453
diff changeset
32 class controller;
344
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
33
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
34 // {{{ cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
35
345
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
36 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
37 * \brief Abstract CLI class.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
38 */
527
a88796ed040a Irccdctl: switch to Boost.Asio, closes #697
David Demelier <markand@malikania.fr>
parents: 453
diff changeset
39 class cli {
a88796ed040a Irccdctl: switch to Boost.Asio, closes #697
David Demelier <markand@malikania.fr>
parents: 453
diff changeset
40 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
41 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
42 * \brief Convenient handler for request function.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
43 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
44 using handler_t = std::function<void (nlohmann::json)>;
344
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
45
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
46 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
47 * \brief Command constructor factory.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
48 */
818
49fa22f0b4b9 windows: support for VS2017
David Demelier <markand@malikania.fr>
parents: 773
diff changeset
49 using constructor = std::function<std::unique_ptr<cli> ()>;
758
445c071e8efb Irccd: Javascript API cleanup
David Demelier <markand@malikania.fr>
parents: 752
diff changeset
50
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
51 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
52 * \brief Registry of all commands.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
53 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
54 static const std::vector<constructor> registry;
758
445c071e8efb Irccd: Javascript API cleanup
David Demelier <markand@malikania.fr>
parents: 752
diff changeset
55
527
a88796ed040a Irccdctl: switch to Boost.Asio, closes #697
David Demelier <markand@malikania.fr>
parents: 453
diff changeset
56 private:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
57 void recv_response(ctl::controller&, nlohmann::json, handler_t);
344
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
58
527
a88796ed040a Irccdctl: switch to Boost.Asio, closes #697
David Demelier <markand@malikania.fr>
parents: 453
diff changeset
59 protected:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
60 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
61 * Convenient request helper.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
62 *
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
63 * This function send and receive the response for the given request. It
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
64 * checks for an error code or string in the command result and throws it if
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
65 * any.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
66 *
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
67 * If handler is not null, it will be called once the command result has
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
68 * been received.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
69 *
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
70 * This function may executes successive read calls until we get the
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
71 * response.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
72 *
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
73 * \param ctl the controller
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
74 * \param json the json object
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
75 * \param handler the optional handler
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
76 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
77 void request(ctl::controller& ctl, nlohmann::json json, handler_t handler = nullptr);
344
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
78
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
79 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
80 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
81 * Default constructor.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
82 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
83 cli() noexcept = default;
345
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
84
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
85 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
86 * Virtual destructor defaulted.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
87 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
88 virtual ~cli() noexcept = default;
345
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
89
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
90 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
91 * Return the command name.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
92 *
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
93 * \return the name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
94 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
95 virtual auto get_name() const noexcept -> std::string_view = 0;
345
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
96
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
97 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
98 * Execute the command.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
99 *
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
100 * \param ctl the controller
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
101 * \param args the user arguments
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
102 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
103 virtual void exec(ctl::controller& ctl, const std::vector<std::string>& args) = 0;
359
6d598fea2689 Irccdctl: put back watch missing, closes #591
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
104 };
6d598fea2689 Irccdctl: put back watch missing, closes #591
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
105
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
106 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
107
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
108 // {{{ plugin_config_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
109
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
110 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
111 * \brief Implementation of irccdctl plugin-config.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
112 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
113 class plugin_config_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
114 private:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
115 void set(ctl::controller&, const std::vector<std::string>&);
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
116 void get(ctl::controller&, const std::vector<std::string>&);
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
117 void getall(ctl::controller&, const std::vector<std::string>&);
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
118
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
119 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
120 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
121 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
122 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
123 auto get_name() const noexcept -> std::string_view override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
124
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
125 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
126 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
127 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
128 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
129 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
130
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
131 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
132
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
133 // {{{ plugin_info_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
134
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
135 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
136 * \brief Implementation of irccdctl plugin-info.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
137 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
138 class plugin_info_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
139 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
140 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
141 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
142 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
143 auto get_name() const noexcept -> std::string_view override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
144
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
145 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
146 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
147 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
148 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
149 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
150
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
151 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
152
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
153 // {{{ plugin_list_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
154
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
155 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
156 * \brief Implementation of irccdctl plugin-list.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
157 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
158 class plugin_list_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
159 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
160 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
161 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
162 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
163 auto get_name() const noexcept -> std::string_view override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
164
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
165 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
166 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
167 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
168 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
169 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
170
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
171 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
172
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
173 // {{{ plugin_load_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
174
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
175 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
176 * \brief Implementation of irccdctl plugin-load.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
177 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
178 class plugin_load_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
179 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
180 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
181 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
182 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
183 auto get_name() const noexcept -> std::string_view override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
184
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
185 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
186 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
187 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
188 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
189 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
190
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
191 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
192
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
193 // {{{ plugin_reload_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
194
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
195 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
196 * \brief Implementation of irccdctl plugin-reload.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
197 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
198 class plugin_reload_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
199 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
200 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
201 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
202 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
203 auto get_name() const noexcept -> std::string_view override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
204
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
205 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
206 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
207 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
208 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
209 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
210
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
211 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
212
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
213 // {{{ plugin_unload_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
214
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
215 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
216 * \brief Implementation of irccdctl plugin-unload.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
217 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
218 class plugin_unload_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
219 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
220 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
221 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
222 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
223 auto get_name() const noexcept -> std::string_view override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
224
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
225 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
226 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
227 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
228 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
229 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
230
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
231 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
232
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
233 // {{{ rule_add_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
234
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
235 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
236 * \brief Implementation of irccdctl rule-add.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
237 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
238 class rule_add_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
239 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
240 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
241 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
242 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
243 auto get_name() const noexcept -> std::string_view override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
244
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
245 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
246 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
247 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
248 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
249 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
250
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
251 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
252
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
253 // {{{ rule_edit_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
254
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
255 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
256 * \brief Implementation of irccdctl rule-edit.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
257 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
258 class rule_edit_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
259 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
260 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
261 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
262 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
263 auto get_name() const noexcept -> std::string_view override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
264
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
265 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
266 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
267 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
268 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
269 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
270
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
271 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
272
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
273 // {{{ rule_info_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
274
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
275 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
276 * \brief Implementation of irccdctl rule-info.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
277 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
278 class rule_info_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
279 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
280 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
281 * Pretty print a rule to stdout.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
282 *
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
283 * \param json the rule information
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
284 * \param index the rule index
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
285 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
286 static void print(const nlohmann::json& json, int index = 0);
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
287
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
288 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
289 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
290 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
291 auto get_name() const noexcept -> std::string_view override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
292
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
293 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
294 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
295 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
296 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
297 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
298
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
299 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
300
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
301 // {{{ rule_list_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
302
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
303 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
304 * \brief Implementation of irccdctl rule-list.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
305 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
306 class rule_list_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
307 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
308 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
309 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
310 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
311 auto get_name() const noexcept -> std::string_view override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
312
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
313 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
314 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
315 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
316 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
317 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
318
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
319 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
320
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
321 // {{{ rule_move_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
322
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
323 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
324 * \brief Implementation of irccdctl rule-move.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
325 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
326 class rule_move_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
327 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
328 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
329 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
330 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
331 auto get_name() const noexcept -> std::string_view override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
332
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
333 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
334 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
335 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
336 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
337 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
338
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
339 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
340
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
341 // {{{ rule_remove_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
342
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
343 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
344 * \brief Implementation of irccdctl rule-remove.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
345 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
346 class rule_remove_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
347 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
348 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
349 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
350 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
351 auto get_name() const noexcept -> std::string_view override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
352
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
353 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
354 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
355 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
356 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
357 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
358
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
359 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
360
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
361 // {{{ server_connect_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
362
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
363 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
364 * \brief Implementation of irccdctl server-connect.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
365 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
366 class server_connect_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
367 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
368 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
369 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
370 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
371 auto get_name() const noexcept -> std::string_view override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
372
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
373 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
374 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
375 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
376 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
377 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
378
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
379 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
380
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
381 // {{{ server_disconnect_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
382
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
383 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
384 * \brief Implementation of irccdctl server-disconnect.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
385 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
386 class server_disconnect_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
387 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
388 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
389 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
390 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
391 auto get_name() const noexcept -> std::string_view override;
345
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
392
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
393 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
394 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
395 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
396 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
397 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
398
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
399 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
400
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
401 // {{{ server_info_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
402
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
403 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
404 * \brief Implementation of irccdctl server-info.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
405 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
406 class server_info_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
407 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
408 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
409 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
410 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
411 auto get_name() const noexcept -> std::string_view override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
412
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
413 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
414 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
415 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
416 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
417 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
418
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
419 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
420
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
421 // {{{ server_invite_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
422
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
423 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
424 * \brief Implementation of irccdctl server-invite.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
425 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
426 class server_invite_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
427 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
428 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
429 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
430 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
431 auto get_name() const noexcept -> std::string_view override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
432
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
433 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
434 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
435 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
436 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
437 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
438
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
439 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
440
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
441 // {{{ server_join_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
442
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
443 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
444 * \brief Implementation of irccdctl server-join.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
445 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
446 class server_join_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
447 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
448 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
449 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
450 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
451 auto get_name() const noexcept -> std::string_view override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
452
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
453 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
454 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
455 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
456 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
457 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
458
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
459 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
460
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
461 // {{{ server_kick_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
462
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
463 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
464 * \brief Implementation of irccdctl server-kick.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
465 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
466 class server_kick_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
467 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
468 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
469 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
470 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
471 auto get_name() const noexcept -> std::string_view override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
472
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
473 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
474 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
475 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
476 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
477 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
478
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
479 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
480
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
481 // {{{ server_list_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
482
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
483 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
484 * \brief Implementation of irccdctl server-list.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
485 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
486 class server_list_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
487 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
488 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
489 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
490 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
491 auto get_name() const noexcept -> std::string_view override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
492
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
493 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
494 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
495 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
496 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
497 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
498
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
499 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
500
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
501 // {{{ server_me_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
502
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
503 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
504 * \brief Implementation of irccdctl server-me.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
505 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
506 class server_me_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
507 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
508 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
509 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
510 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
511 auto get_name() const noexcept -> std::string_view override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
512
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
513 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
514 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
515 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
516 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
517 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
518
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
519 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
520
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
521 // {{{ server_message_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
522
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
523 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
524 * \brief Implementation of irccdctl server-message.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
525 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
526 class server_message_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
527 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
528 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
529 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
530 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
531 auto get_name() const noexcept -> std::string_view override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
532
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
533 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
534 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
535 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
536 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
537 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
538
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
539 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
540
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
541 // {{{ server_mode_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
542
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
543 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
544 * \brief Implementation of irccdctl server-mode.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
545 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
546 class server_mode_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
547 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
548 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
549 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
550 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
551 auto get_name() const noexcept -> std::string_view override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
552
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
553 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
554 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
555 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
556 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
557 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
558
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
559 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
560
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
561 // {{{ server_nick_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
562
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
563 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
564 * \brief Implementation of irccdctl server-nick.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
565 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
566 class server_nick_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
567 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
568 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
569 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
570 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
571 auto get_name() const noexcept -> std::string_view override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
572
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
573 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
574 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
575 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
576 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
577 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
578
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
579 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
580
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
581 // {{{ server_notice_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
582
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
583 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
584 * \brief Implementation of irccdctl server-notice.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
585 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
586 class server_notice_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
587 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
588 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
589 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
590 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
591 auto get_name() const noexcept -> std::string_view override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
592
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
593 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
594 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
595 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
596 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
597 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
598
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
599 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
600
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
601 // {{{ server_part_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
602
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
603 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
604 * \brief Implementation of irccdctl server-part.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
605 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
606 class server_part_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
607 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
608 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
609 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
610 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
611 auto get_name() const noexcept -> std::string_view override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
612
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
613 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
614 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
615 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
616 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
617 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
618
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
619 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
620
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
621 // {{{ server_reconnect_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
622
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
623 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
624 * \brief Implementation of irccdctl server-reconnect.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
625 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
626 class server_reconnect_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
627 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
628 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
629 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
630 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
631 auto get_name() const noexcept -> std::string_view override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
632
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
633 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
634 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
635 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
636 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
637 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
638
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
639 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
640
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
641 // {{{ server_topic_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
642
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
643 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
644 * \brief Implementation of irccdctl server-topic.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
645 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
646 class server_topic_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
647 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
648 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
649 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
650 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
651 auto get_name() const noexcept -> std::string_view override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
652
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
653 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
654 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
655 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
656 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
657 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
658
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
659 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
660
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
661 // {{{ watch_cli
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
662
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
663 /**
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
664 * \brief Implementation of irccdctl watch.
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
665 */
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
666 class watch_cli : public cli {
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
667 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
668 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
669 * \copydoc cli::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
670 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
671 auto get_name() const noexcept -> std::string_view override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
672
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
673 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
674 * \copydoc cli::exec
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
675 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 758
diff changeset
676 void exec(ctl::controller& irccdctl, const std::vector<std::string>& args) override;
752
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
677 };
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
678
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
679 // }}}
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
680
252506d9839b Irccdctl: merge all cli in cli.cpp|hpp
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
681 } // !irccd::ctl
344
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
682
603
986ed3a7575d Misc: fix includes style, closes #732
David Demelier <markand@malikania.fr>
parents: 528
diff changeset
683 #endif // !IRCCD_CTL_CLI_HPP