2 * InspIRCd -- Internet Relay Chat Daemon
4 * Copyright (C) 2014 Attila Molnar <attilamolnar@hush.com>
6 * This file is part of InspIRCd. InspIRCd is free software: you can
7 * redistribute it and/or modify it under the terms of the GNU General Public
8 * License as published by the Free Software Foundation, version 2.
10 * This program is distributed in the hope that it will be useful, but WITHOUT
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
26 class CommandAdmin : public Command
29 /** Constructor for admin.
31 CommandAdmin(Module* parent);
34 * @param parameters The parameters to the command
35 * @param user The user issuing the command
36 * @return A value from CmdResult to indicate command success or failure.
38 CmdResult Handle(const std::vector<std::string>& parameters, User* user);
39 RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters);
44 class CommandCommands : public Command
47 /** Constructor for commands.
49 CommandCommands(Module* parent);
52 * @param parameters The parameters to the command
53 * @param user The user issuing the command
54 * @return A value from CmdResult to indicate command success or failure.
56 CmdResult Handle(const std::vector<std::string>& parameters, User* user);
61 class CommandInfo : public Command
64 /** Constructor for info.
66 CommandInfo(Module* parent);
69 * @param parameters The parameters to the command
70 * @param user The user issuing the command
71 * @return A value from CmdResult to indicate command success or failure.
73 CmdResult Handle(const std::vector<std::string>& parameters, User* user);
74 RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters);
79 class CommandModules : public Command
82 /** Constructor for modules.
84 CommandModules(Module* parent);
87 * @param parameters The parameters to the command
88 * @param user The user issuing the command
89 * @return A value from CmdResult to indicate command success or failure.
91 CmdResult Handle(const std::vector<std::string>& parameters, User* user);
92 RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters);
97 class CommandMotd : public Command
100 /** Constructor for motd.
102 CommandMotd(Module* parent);
105 * @param parameters The parameters to the command
106 * @param user The user issuing the command
107 * @return A value from CmdResult to indicate command success or failure.
109 CmdResult Handle(const std::vector<std::string>& parameters, User* user);
110 RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters);
115 class CommandTime : public Command
118 /** Constructor for time.
120 CommandTime(Module* parent);
123 * @param parameters The parameters to the command
124 * @param user The user issuing the command
125 * @return A value from CmdResult to indicate command success or failure.
127 CmdResult Handle(const std::vector<std::string>& parameters, User* user);
128 RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters);
133 class CommandVersion : public Command
136 /** Constructor for version.
138 CommandVersion(Module* parent);
141 * @param parameters The parameters to the command
142 * @param user The user issuing the command
143 * @return A value from CmdResult to indicate command success or failure.
145 CmdResult Handle(const std::vector<std::string>& parameters, User* user);