annotate irccdctl/cli.hpp @ 459:b347b10d24c1 release-2.1

Added tag 2.1.3 for changeset c3f46ad1ece6
author David Demelier <markand@malikania.fr>
date Fri, 28 Jul 2017 11:29:06 +0200
parents c6fbb6e0e06d
children 9be4f8a5cf1a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
344
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * cli.hpp -- command line for irccdctl
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 *
394
c6fbb6e0e06d Happy new year!
David Demelier <markand@malikania.fr>
parents: 359
diff changeset
4 * Copyright (c) 2013-2017 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
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 #ifndef IRCCD_CLI_HPP
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 #define IRCCD_CLI_HPP
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
21
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 #include <string>
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 #include <vector>
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
24
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 #include <json.hpp>
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
26
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 namespace irccd {
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
28
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 class Irccdctl;
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
30
345
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
31 /*
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
32 * Cli.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
33 * ------------------------------------------------------------------
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
34 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
35
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 */
344
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 class Cli {
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 protected:
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 std::string m_name;
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 std::string m_summary;
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 std::string m_usage;
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 std::string m_help;
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
45
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 /**
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 * Check the message result and print an error if any.
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 *
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 * \param result the result
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 * \throw an error if any
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 */
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 void check(const nlohmann::json &result);
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
53
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 /**
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 * Send a request and wait for the response.
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 *
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 * \param irccdctl the client
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 * \param args the optional arguments
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 */
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 nlohmann::json request(Irccdctl &irccdctl, nlohmann::json args = nullptr);
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
61
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 /**
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 * Call a command and wait for success/error response.
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 *
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 * \param irccdctl the client
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 * \param args the extra arguments (may be null)
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 */
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 void call(Irccdctl &irccdctl, nlohmann::json args);
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
69
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 public:
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 inline Cli(std::string name, std::string summary, std::string usage, std::string help) noexcept
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
72 : m_name(std::move(name))
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 , m_summary(std::move(summary))
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
74 , m_usage(std::move(usage))
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 , m_help(std::move(help))
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
76 {
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 }
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 virtual ~Cli() = default;
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
80
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
81 inline const std::string &name() const noexcept
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 {
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 return m_name;
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
84 }
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
85
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
86 inline const std::string &summary() const noexcept
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
87 {
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
88 return m_summary;
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
89 }
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
90
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
91 inline const std::string &usage() const noexcept
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
92 {
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
93 return m_usage;
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
94 }
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
95
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
96 inline const std::string &help() const noexcept
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
97 {
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
98 return m_help;
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
99 }
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
100
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
101 virtual void exec(Irccdctl &client, const std::vector<std::string> &args) = 0;
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
102 };
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
103
345
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
104 namespace cli {
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
105
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
106 /*
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
107 * PluginConfigCli.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
108 * ------------------------------------------------------------------
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
109 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
110
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
111 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
112 * \brief Implementation of irccdctl plugin-config.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
113 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
114 class PluginConfigCli : public Cli {
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
115 private:
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
116 void set(Irccdctl &, const std::vector<std::string> &);
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
117 void get(Irccdctl &, const std::vector<std::string> &);
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
118 void getall(Irccdctl &, const std::vector<std::string> &);
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
119
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
120 public:
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
121 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
122 * Default constructor.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
123 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
124 PluginConfigCli();
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
125
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
126 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
127 * \copydoc Cli::exec
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
128 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
129 void exec(Irccdctl &irccdctl, const std::vector<std::string> &args) override;
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
130 };
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
131
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
132 /*
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
133 * PluginInfoCli.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
134 * ------------------------------------------------------------------
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
135 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
136
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
137 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
138 * \brief Implementation of irccdctl plugin-info.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
139 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
140 class PluginInfoCli : public Cli {
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
141 public:
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
142 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
143 * Default constructor.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
144 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
145 PluginInfoCli();
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
146
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
147 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
148 * \copydoc Cli::exec
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
149 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
150 void exec(Irccdctl &irccdctl, const std::vector<std::string> &args) override;
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
151 };
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
152
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
153 /*
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
154 * PluginListCli.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
155 * ------------------------------------------------------------------
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
156 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
157
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
158 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
159 * \brief Implementation of irccdctl plugin-list.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
160 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
161 class PluginListCli : public Cli {
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
162 public:
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
163 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
164 * Default constructor.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
165 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
166 PluginListCli();
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
167
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
168 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
169 * \copydoc Cli::exec
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
170 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
171 void exec(Irccdctl &irccdctl, const std::vector<std::string> &args) override;
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
172 };
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
173
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
174 /*
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
175 * PluginLoadCli.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
176 * ------------------------------------------------------------------
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
177 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
178
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
179 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
180 * \brief Implementation of irccdctl plugin-load.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
181 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
182 class PluginLoadCli : public Cli {
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
183 public:
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
184 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
185 * Default constructor.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
186 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
187 PluginLoadCli();
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
188
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
189 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
190 * \copydoc Cli::exec
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
191 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
192 void exec(Irccdctl &irccdctl, const std::vector<std::string> &args) override;
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
193 };
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
194
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
195 /*
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
196 * PluginReloadCli.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
197 * ------------------------------------------------------------------
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
198 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
199
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
200 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
201 * \brief Implementation of irccdctl plugin-reload.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
202 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
203 class PluginReloadCli : public Cli {
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
204 public:
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
205 PluginReloadCli();
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
206
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
207 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
208 * \copydoc Command::exec
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
209 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
210 void exec(Irccdctl &irccdctl, const std::vector<std::string> &args) override;
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
211 };
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
212
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
213 /*
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
214 * PluginUnloadCli.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
215 * ------------------------------------------------------------------
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
216 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
217
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
218 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
219 * \brief Implementation of irccdctl plugin-unload.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
220 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
221 class PluginUnloadCli : public Cli {
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
222 public:
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
223 PluginUnloadCli();
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
224
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
225 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
226 * \copydoc Cli::exec
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
227 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
228 void exec(Irccdctl &irccdctl, const std::vector<std::string> &args) override;
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
229 };
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
230
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
231 /*
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
232 * ServerChannelCli.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
233 * ------------------------------------------------------------------
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
234 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
235
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
236 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
237 * \brief Implementation of irccdctl server-cmode.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
238 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
239 class ServerChannelMode : public Cli {
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
240 public:
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
241 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
242 * Default constructor.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
243 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
244 ServerChannelMode();
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
245
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
246 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
247 * \copydoc Cli::exec
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
248 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
249 void exec(Irccdctl &irccdctl, const std::vector<std::string> &args) override;
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
250 };
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
251
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
252 /*
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
253 * ServerChannelNoticeCli.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
254 * ------------------------------------------------------------------
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
255 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
256
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
257 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
258 * \brief Implementation of irccdctl server-cnotice.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
259 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
260 class ServerChannelNoticeCli : public Cli {
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
261 public:
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
262 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
263 * Default constructor.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
264 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
265 ServerChannelNoticeCli();
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
266
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
267 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
268 * \copydoc Cli::exec
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
269 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
270 void exec(Irccdctl &irccdctl, const std::vector<std::string> &args) override;
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
271 };
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
272
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
273 /*
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
274 * ServerConnectCli.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
275 * ------------------------------------------------------------------
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
276 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
277
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
278 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
279 * \brief Implementation of irccdctl server-connect.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
280 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
281 class ServerConnectCli : public Cli {
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
282 public:
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
283 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
284 * Default constructor.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
285 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
286 ServerConnectCli();
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
287
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
288 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
289 * \copydoc Cli::exec
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
290 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
291 void exec(Irccdctl &irccdctl, const std::vector<std::string> &args) override;
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
292 };
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
293
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
294 /*
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
295 * ServerDisconnectCli.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
296 * ------------------------------------------------------------------
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
297 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
298
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
299 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
300 * \brief Implementation of irccdctl server-disconnect.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
301 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
302 class ServerDisconnectCli : public Cli {
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
303 public:
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
304 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
305 * Default constructor.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
306 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
307 ServerDisconnectCli();
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
308
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
309 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
310 * \copydoc Cli::exec
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
311 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
312 void exec(Irccdctl &irccdctl, const std::vector<std::string> &args) override;
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
313 };
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
314
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
315 /*
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
316 * ServerInfoCli.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
317 * ------------------------------------------------------------------
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
318 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
319
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
320 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
321 * \brief Implementation of irccdctl server-info.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
322 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
323 class ServerInfoCli : public Cli {
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
324 public:
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
325 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
326 * Default constructor.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
327 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
328 ServerInfoCli();
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
329
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
330 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
331 * \copydoc Cli::exec
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
332 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
333 void exec(Irccdctl &irccdctl, const std::vector<std::string> &args) override;
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
334 };
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
335
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
336 /*
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
337 * ServerInviteCli.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
338 * ------------------------------------------------------------------
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
339 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
340
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
341 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
342 * \brief Implementation of irccdctl server-invite.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
343 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
344 class ServerInviteCli : public Cli {
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
345 public:
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
346 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
347 * Default constructor.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
348 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
349 ServerInviteCli();
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
350
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
351 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
352 * \copydoc Cli::exec
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
353 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
354 void exec(Irccdctl &irccdctl, const std::vector<std::string> &args) override;
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
355 };
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
356
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
357 /*
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
358 * ServerJoinCli.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
359 * ------------------------------------------------------------------
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
360 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
361
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
362 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
363 * \brief Implementation of irccdctl server-join.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
364 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
365 class ServerJoinCli : public Cli {
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
366 public:
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
367 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
368 * Default constructor.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
369 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
370 ServerJoinCli();
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
371
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
372 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
373 * \copydoc Cli::exec
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
374 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
375 void exec(Irccdctl &irccdctl, const std::vector<std::string> &args) override;
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
376 };
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
377
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
378 /*
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
379 * ServerKickCli.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
380 * ------------------------------------------------------------------
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
381 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
382
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
383 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
384 * \brief Implementation of irccdctl server-kick.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
385 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
386 class ServerKickCli : public Cli {
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
387 public:
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
388 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
389 * Default constructor.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
390 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
391 ServerKickCli();
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
392
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
393 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
394 * \copydoc Cli::exec
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
395 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
396 void exec(Irccdctl &irccdctl, const std::vector<std::string> &args) override;
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
397 };
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
398
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
399 /*
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
400 * ServerListCli.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
401 * ------------------------------------------------------------------
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
402 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
403
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
404 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
405 * \brief Implementation of irccdctl server-list.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
406 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
407 class ServerListCli : public Cli {
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
408 public:
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
409 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
410 * Default constructor.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
411 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
412 ServerListCli();
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
413
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
414 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
415 * \copydoc Cli::exec
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
416 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
417 void exec(Irccdctl &irccdctl, const std::vector<std::string> &args) override;
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
418 };
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
419
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
420 /*
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
421 * ServerMeCli.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
422 * ------------------------------------------------------------------
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
423 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
424
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
425 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
426 * \brief Implementation of irccdctl server-me.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
427 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
428 class ServerMeCli : public Cli {
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
429 public:
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
430 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
431 * Default constructor.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
432 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
433 ServerMeCli();
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
434
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
435 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
436 * \copydoc Command::exec
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
437 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
438 void exec(Irccdctl &irccdctl, const std::vector<std::string> &args) override;
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
439 };
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
440
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
441 /*
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
442 * ServerMessageCli.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
443 * ------------------------------------------------------------------
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
444 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
445
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
446 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
447 * \brief Implementation of irccdctl server-message.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
448 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
449 class ServerMessageCli : public Cli {
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
450 public:
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
451 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
452 * Default constructor.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
453 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
454 ServerMessageCli();
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
455
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
456 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
457 * \copydoc Cli::exec
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
458 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
459 void exec(Irccdctl &irccdctl, const std::vector<std::string> &args) override;
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
460 };
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
461
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
462 /*
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
463 * ServerModeCli.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
464 * ------------------------------------------------------------------
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
465 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
466
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
467 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
468 * \brief Implementation of irccdctl server-mode.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
469 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
470 class ServerModeCli : public Cli {
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
471 public:
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
472 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
473 * Default constructor.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
474 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
475 ServerModeCli();
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
476
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
477 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
478 * \copydoc Cli::exec
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
479 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
480 void exec(Irccdctl &irccdctl, const std::vector<std::string> &args) override;
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
481 };
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
482
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
483 /*
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
484 * ServerNickCli.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
485 * ------------------------------------------------------------------
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
486 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
487
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
488 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
489 * \brief Implementation of irccdctl server-nick.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
490 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
491 class ServerNickCli : public Cli {
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
492 public:
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
493 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
494 * Default constructor.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
495 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
496 ServerNickCli();
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
497
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
498 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
499 * \copydoc Cli::exec
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
500 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
501 void exec(Irccdctl &irccdctl, const std::vector<std::string> &args) override;
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
502 };
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
503
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
504 /*
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
505 * ServerNoticeCli.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
506 * ------------------------------------------------------------------
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
507 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
508
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
509 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
510 * \brief Implementation of irccdctl server-notice.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
511 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
512 class ServerNoticeCli : public Cli {
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
513 public:
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
514 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
515 * Default constructor.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
516 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
517 ServerNoticeCli();
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
518
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
519 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
520 * \copydoc Cli::exec
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
521 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
522 void exec(Irccdctl &irccdctl, const std::vector<std::string> &args) override;
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
523 };
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
524
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
525 /*
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
526 * ServerPartCli.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
527 * ------------------------------------------------------------------
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
528 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
529
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
530 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
531 * \brief Implementation of irccdctl server-part.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
532 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
533 class ServerPartCli : public Cli {
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
534 public:
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
535 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
536 * Default constructor.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
537 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
538 ServerPartCli();
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
539
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
540 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
541 * \copydoc Cli::exec
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
542 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
543 void exec(Irccdctl &irccdctl, const std::vector<std::string> &args) override;
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
544 };
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
545
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
546 /*
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
547 * ServerReconnectCli.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
548 * ------------------------------------------------------------------
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
549 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
550
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
551 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
552 * \brief Implementation of irccdctl server-reconnect.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
553 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
554 class ServerReconnectCli : public Cli {
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
555 public:
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
556 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
557 * Default constructor.
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
558 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
559 ServerReconnectCli();
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
560
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
561 /**
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
562 * \copydoc Cli::exec
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
563 */
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
564 void exec(Irccdctl &irccdctl, const std::vector<std::string> &args) override;
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
565 };
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
566
355
ace71e2b8e2a Irccd: add server-topic support again
David Demelier <markand@malikania.fr>
parents: 345
diff changeset
567 /*
ace71e2b8e2a Irccd: add server-topic support again
David Demelier <markand@malikania.fr>
parents: 345
diff changeset
568 * ServerTopicCli.
ace71e2b8e2a Irccd: add server-topic support again
David Demelier <markand@malikania.fr>
parents: 345
diff changeset
569 * ------------------------------------------------------------------
ace71e2b8e2a Irccd: add server-topic support again
David Demelier <markand@malikania.fr>
parents: 345
diff changeset
570 */
ace71e2b8e2a Irccd: add server-topic support again
David Demelier <markand@malikania.fr>
parents: 345
diff changeset
571
ace71e2b8e2a Irccd: add server-topic support again
David Demelier <markand@malikania.fr>
parents: 345
diff changeset
572 /**
ace71e2b8e2a Irccd: add server-topic support again
David Demelier <markand@malikania.fr>
parents: 345
diff changeset
573 * \brief Implementation of irccdctl server-topic.
ace71e2b8e2a Irccd: add server-topic support again
David Demelier <markand@malikania.fr>
parents: 345
diff changeset
574 */
ace71e2b8e2a Irccd: add server-topic support again
David Demelier <markand@malikania.fr>
parents: 345
diff changeset
575 class ServerTopicCli : public Cli {
ace71e2b8e2a Irccd: add server-topic support again
David Demelier <markand@malikania.fr>
parents: 345
diff changeset
576 public:
ace71e2b8e2a Irccd: add server-topic support again
David Demelier <markand@malikania.fr>
parents: 345
diff changeset
577 /**
ace71e2b8e2a Irccd: add server-topic support again
David Demelier <markand@malikania.fr>
parents: 345
diff changeset
578 * Default constructor.
ace71e2b8e2a Irccd: add server-topic support again
David Demelier <markand@malikania.fr>
parents: 345
diff changeset
579 */
ace71e2b8e2a Irccd: add server-topic support again
David Demelier <markand@malikania.fr>
parents: 345
diff changeset
580 ServerTopicCli();
ace71e2b8e2a Irccd: add server-topic support again
David Demelier <markand@malikania.fr>
parents: 345
diff changeset
581
ace71e2b8e2a Irccd: add server-topic support again
David Demelier <markand@malikania.fr>
parents: 345
diff changeset
582 /**
ace71e2b8e2a Irccd: add server-topic support again
David Demelier <markand@malikania.fr>
parents: 345
diff changeset
583 * \copydoc Cli::exec
ace71e2b8e2a Irccd: add server-topic support again
David Demelier <markand@malikania.fr>
parents: 345
diff changeset
584 */
ace71e2b8e2a Irccd: add server-topic support again
David Demelier <markand@malikania.fr>
parents: 345
diff changeset
585 void exec(Irccdctl &client, const std::vector<std::string> &args) override;
ace71e2b8e2a Irccd: add server-topic support again
David Demelier <markand@malikania.fr>
parents: 345
diff changeset
586 };
ace71e2b8e2a Irccd: add server-topic support again
David Demelier <markand@malikania.fr>
parents: 345
diff changeset
587
359
6d598fea2689 Irccdctl: put back watch missing, closes #591
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
588 /*
6d598fea2689 Irccdctl: put back watch missing, closes #591
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
589 * WatchCli.
6d598fea2689 Irccdctl: put back watch missing, closes #591
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
590 * ------------------------------------------------------------------
6d598fea2689 Irccdctl: put back watch missing, closes #591
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
591 */
6d598fea2689 Irccdctl: put back watch missing, closes #591
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
592
6d598fea2689 Irccdctl: put back watch missing, closes #591
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
593 /**
6d598fea2689 Irccdctl: put back watch missing, closes #591
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
594 * \brief Implementation of irccdctl watch.
6d598fea2689 Irccdctl: put back watch missing, closes #591
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
595 */
6d598fea2689 Irccdctl: put back watch missing, closes #591
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
596 class WatchCli : public Cli {
6d598fea2689 Irccdctl: put back watch missing, closes #591
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
597 public:
6d598fea2689 Irccdctl: put back watch missing, closes #591
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
598 /**
6d598fea2689 Irccdctl: put back watch missing, closes #591
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
599 * Default constructor.
6d598fea2689 Irccdctl: put back watch missing, closes #591
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
600 */
6d598fea2689 Irccdctl: put back watch missing, closes #591
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
601 WatchCli();
6d598fea2689 Irccdctl: put back watch missing, closes #591
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
602
6d598fea2689 Irccdctl: put back watch missing, closes #591
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
603 /**
6d598fea2689 Irccdctl: put back watch missing, closes #591
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
604 * \copydoc Cli::exec
6d598fea2689 Irccdctl: put back watch missing, closes #591
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
605 */
6d598fea2689 Irccdctl: put back watch missing, closes #591
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
606 void exec(Irccdctl &client, const std::vector<std::string> &args) override;
6d598fea2689 Irccdctl: put back watch missing, closes #591
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
607 };
6d598fea2689 Irccdctl: put back watch missing, closes #591
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
608
345
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
609 } // !cli
006452e4a997 Irccdctl: unify cli commands
David Demelier <markand@malikania.fr>
parents: 344
diff changeset
610
344
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
611 } // !irccd
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
612
4665fffff6f2 Irccdctl: new cli interface
David Demelier <markand@malikania.fr>
parents:
diff changeset
613 #endif // !IRCCD_CLI_HPP