]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - src/modules/m_spanningtree/precommand.cpp
a024a4901eed68a5f57dd1bda1c831b7b89a08bf
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / precommand.cpp
1 /*       +------------------------------------+
2  *       | Inspire Internet Relay Chat Daemon |
3  *       +------------------------------------+
4  *
5  *  InspIRCd: (C) 2002-2009 InspIRCd Development Team
6  * See: http://wiki.inspircd.org/Credits
7  *
8  * This program is free but copyrighted software; see
9  *        the file COPYING for details.
10  *
11  * ---------------------------------------------------
12  */
13
14 /* $ModDesc: Provides a spanning tree server link protocol */
15
16 #include "inspircd.h"
17 #include "socket.h"
18 #include "xline.h"
19 #include "../transport.h"
20
21 #include "main.h"
22 #include "utils.h"
23 #include "treeserver.h"
24 #include "treesocket.h"
25
26 /* $ModDep: m_spanningtree/main.h m_spanningtree/utils.h m_spanningtree/treeserver.h m_spanningtree/treesocket.h */
27
28 ModResult ModuleSpanningTree::OnPreCommand(std::string &command, std::vector<std::string>& parameters, User *user, bool validated, const std::string &original_line)
29 {
30         /* If the command doesnt appear to be valid, we dont want to mess with it. */
31         if (!validated)
32                 return MOD_RES_PASSTHRU;
33
34         if (command == "CONNECT")
35         {
36                 return this->HandleConnect(parameters,user);
37         }
38         else if (command == "STATS")
39         {
40                 return this->HandleStats(parameters,user);
41         }
42         else if (command == "MOTD")
43         {
44                 return this->HandleMotd(parameters,user);
45         }
46         else if (command == "ADMIN")
47         {
48                 return this->HandleAdmin(parameters,user);
49         }
50         else if (command == "SQUIT")
51         {
52                 return this->HandleSquit(parameters,user);
53         }
54         else if (command == "MAP")
55         {
56                 return this->HandleMap(parameters,user) ? MOD_RES_DENY : MOD_RES_PASSTHRU;
57         }
58         else if ((command == "TIME") && (parameters.size() > 0))
59         {
60                 return this->HandleTime(parameters,user);
61         }
62         else if (command == "LUSERS")
63         {
64                 this->HandleLusers(parameters,user);
65                 return MOD_RES_DENY;
66         }
67         else if (command == "LINKS")
68         {
69                 this->HandleLinks(parameters,user);
70                 return MOD_RES_DENY;
71         }
72         else if (command == "WHOIS")
73         {
74                 if (parameters.size() > 1)
75                 {
76                         // remote whois
77                         return this->HandleRemoteWhois(parameters,user);
78                 }
79         }
80         else if ((command == "VERSION") && (parameters.size() > 0))
81         {
82                 this->HandleVersion(parameters,user);
83                 return MOD_RES_DENY;
84         }
85         return MOD_RES_PASSTHRU;
86 }
87