Mercurial > irccd
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 |
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 |