summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree/commands.h
diff options
context:
space:
mode:
authordanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2010-01-02 21:05:56 +0000
committerdanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2010-01-02 21:05:56 +0000
commite2289d4cf4f9a9c587c1956c089bb3a32a48b54d (patch)
tree5cccf646ce53a04204ea98cfca87db0dec436092 /src/modules/m_spanningtree/commands.h
parent9451b779d7a513c87f48db40e14d245b7f62c844 (diff)
Remove special-case handling of SVSNICK, SVSJOIN, SVSPART; enables intelligent routing
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12238 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_spanningtree/commands.h')
-rw-r--r--src/modules/m_spanningtree/commands.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/modules/m_spanningtree/commands.h b/src/modules/m_spanningtree/commands.h
new file mode 100644
index 000000000..d776d49f4
--- /dev/null
+++ b/src/modules/m_spanningtree/commands.h
@@ -0,0 +1,60 @@
+/* +------------------------------------+
+ * | Inspire Internet Relay Chat Daemon |
+ * +------------------------------------+
+ *
+ * InspIRCd: (C) 2002-2009 InspIRCd Development Team
+ * See: http://wiki.inspircd.org/Credits
+ *
+ * This program is free but copyrighted software; see
+ * the file COPYING for details.
+ *
+ * ---------------------------------------------------
+ */
+
+#ifndef __COMMANDS_H__
+#define __COMMANDS_H__
+
+/** Handle /RCONNECT
+ */
+class CommandRConnect : public Command
+{
+ SpanningTreeUtilities* Utils; /* Utility class */
+ public:
+ CommandRConnect (Module* Callback, SpanningTreeUtilities* Util);
+ CmdResult Handle (const std::vector<std::string>& parameters, User *user);
+ RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters);
+};
+
+class CommandRSQuit : public Command
+{
+ SpanningTreeUtilities* Utils; /* Utility class */
+ public:
+ CommandRSQuit(Module* Callback, SpanningTreeUtilities* Util);
+ CmdResult Handle (const std::vector<std::string>& parameters, User *user);
+ RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters);
+ void NoticeUser(User* user, const std::string &msg);
+};
+
+class CommandSVSJoin : public Command
+{
+ public:
+ CommandSVSJoin(Module* Creator) : Command(Creator, "SVSJOIN", 2) { flags_needed = 'o'; }
+ CmdResult Handle (const std::vector<std::string>& parameters, User *user);
+ RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters);
+};
+class CommandSVSPart : public Command
+{
+ public:
+ CommandSVSPart(Module* Creator) : Command(Creator, "SVSPART", 2) { flags_needed = 'o'; }
+ CmdResult Handle (const std::vector<std::string>& parameters, User *user);
+ RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters);
+};
+class CommandSVSNick : public Command
+{
+ public:
+ CommandSVSNick(Module* Creator) : Command(Creator, "SVSNICK", 2) { flags_needed = 'o'; }
+ CmdResult Handle (const std::vector<std::string>& parameters, User *user);
+ RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters);
+};
+
+#endif