]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - src/coremods/core_xline/core_xline.h
c2e1714104d30a6db6d35bda362608863192875e
[user/henk/code/inspircd.git] / src / coremods / core_xline / core_xline.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 /ELINE.
25  */
26 class CommandEline : public Command
27 {
28  public:
29         /** Constructor for eline.
30          */
31         CommandEline(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 };
40
41 /** Handle /GLINE.
42  */
43 class CommandGline : public Command
44 {
45  public:
46         /** Constructor for gline.
47          */
48         CommandGline(Module* parent);
49
50         /** Handle command.
51          * @param parameters The parameters to the command
52          * @param user The user issuing the command
53          * @return A value from CmdResult to indicate command success or failure.
54          */
55         CmdResult Handle(const std::vector<std::string>& parameters, User* user);
56 };
57
58 /** Handle /KLINE.
59  */
60 class CommandKline : public Command
61 {
62  public:
63         /** Constructor for kline.
64          */
65         CommandKline(Module* parent);
66
67         /** Handle command.
68          * @param parameters The parameters to the command
69          * @param user The user issuing the command
70          * @return A value from CmdResult to indicate command success or failure.
71          */
72         CmdResult Handle(const std::vector<std::string>& parameters, User* user);
73 };
74
75 /** Handle /QLINE.
76  */
77 class CommandQline : public Command
78 {
79  public:
80         /** Constructor for qline.
81          */
82         CommandQline(Module* parent);
83
84         /** Handle command.
85          * @param parameters The parameters to the command
86          * @param pcnt The number of parameters passed to the command
87          * @param user The user issuing the command
88          * @return A value from CmdResult to indicate command success or failure.
89          */
90         CmdResult Handle(const std::vector<std::string>& parameters, User* user);
91 };
92
93 /** Handle /ZLINE.
94  */
95 class CommandZline : public Command
96 {
97  public:
98         /** Constructor for zline.
99          */
100         CommandZline(Module* parent);
101
102         /** Handle command.
103          * @param parameters The parameters to the command
104          * @param user The user issuing the command
105          * @return A value from CmdResult to indicate command success or failure.
106          */
107         CmdResult Handle(const std::vector<std::string>& parameters, User* user);
108 };