]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - src/coremods/core_info/core_info.h
Create the core_info module
[user/henk/code/inspircd.git] / src / coremods / core_info / core_info.h
1 /*
2  * InspIRCd -- Internet Relay Chat Daemon
3  *
4  *   Copyright (C) 2014 Attila Molnar <attilamolnar@hush.com>
5  *
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.
9  *
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
13  * details.
14  *
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/>.
17  */
18
19
20 #pragma once
21
22 #include "inspircd.h"
23
24 /** Handle /ADMIN.
25  */
26 class CommandAdmin : public Command
27 {
28  public:
29         /** Constructor for admin.
30          */
31         CommandAdmin(Module* parent);
32
33         /** Handle command.
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.
37          */
38         CmdResult Handle(const std::vector<std::string>& parameters, User* user);
39         RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters);
40 };
41
42 /** Handle /COMMANDS.
43  */
44 class CommandCommands : public Command
45 {
46  public:
47         /** Constructor for commands.
48          */
49         CommandCommands(Module* parent);
50
51         /** Handle command.
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.
55          */
56         CmdResult Handle(const std::vector<std::string>& parameters, User* user);
57 };
58
59 /** Handle /INFO.
60  */
61 class CommandInfo : public Command
62 {
63  public:
64         /** Constructor for info.
65          */
66         CommandInfo(Module* parent);
67
68         /** Handle command.
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.
72          */
73         CmdResult Handle(const std::vector<std::string>& parameters, User* user);
74         RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters);
75 };
76
77 /** Handle /MODULES.
78  */
79 class CommandModules : public Command
80 {
81  public:
82         /** Constructor for modules.
83          */
84         CommandModules(Module* parent);
85
86         /** Handle command.
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.
90          */
91         CmdResult Handle(const std::vector<std::string>& parameters, User* user);
92         RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters);
93 };
94
95 /** Handle /MOTD.
96  */
97 class CommandMotd : public Command
98 {
99  public:
100         /** Constructor for motd.
101          */
102         CommandMotd(Module* parent);
103
104         /** Handle command.
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.
108          */
109         CmdResult Handle(const std::vector<std::string>& parameters, User* user);
110         RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters);
111 };
112
113 /** Handle /TIME.
114  */
115 class CommandTime : public Command
116 {
117  public:
118         /** Constructor for time.
119          */
120         CommandTime(Module* parent);
121
122         /** Handle command.
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.
126          */
127         CmdResult Handle(const std::vector<std::string>& parameters, User* user);
128         RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters);
129 };
130
131 /** Handle /VERSION.
132  */
133 class CommandVersion : public Command
134 {
135  public:
136         /** Constructor for version.
137          */
138         CommandVersion(Module* parent);
139
140         /** Handle command.
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.
144          */
145         CmdResult Handle(const std::vector<std::string>& parameters, User* user);
146 };