From dce58b1611e275118d418bfb3b4402bd14d279dd Mon Sep 17 00:00:00 2001 From: danieldg Date: Mon, 18 Jan 2010 23:49:23 +0000 Subject: Move lots of spanningtree items to commands git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12296 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/modules/m_spanningtree/commands.h | 95 +++++++++++++++++++++++++++++++++-- 1 file changed, 92 insertions(+), 3 deletions(-) (limited to 'src/modules/m_spanningtree/commands.h') diff --git a/src/modules/m_spanningtree/commands.h b/src/modules/m_spanningtree/commands.h index 0eb90efb8..eebfd88d3 100644 --- a/src/modules/m_spanningtree/commands.h +++ b/src/modules/m_spanningtree/commands.h @@ -14,6 +14,8 @@ #ifndef __COMMANDS_H__ #define __COMMANDS_H__ +#include "main.h" + /** Handle /RCONNECT */ class CommandRConnect : public Command @@ -38,23 +40,110 @@ class CommandRSQuit : public Command class CommandSVSJoin : public Command { public: - CommandSVSJoin(Module* Creator) : Command(Creator, "SVSJOIN", 2) { flags_needed = 'o'; } + CommandSVSJoin(Module* Creator) : Command(Creator, "SVSJOIN", 2) { flags_needed = FLAG_SERVERONLY; } CmdResult Handle (const std::vector& parameters, User *user); RouteDescriptor GetRouting(User* user, const std::vector& parameters); }; class CommandSVSPart : public Command { public: - CommandSVSPart(Module* Creator) : Command(Creator, "SVSPART", 2) { flags_needed = 'o'; } + CommandSVSPart(Module* Creator) : Command(Creator, "SVSPART", 2) { flags_needed = FLAG_SERVERONLY; } CmdResult Handle (const std::vector& parameters, User *user); RouteDescriptor GetRouting(User* user, const std::vector& parameters); }; class CommandSVSNick : public Command { public: - CommandSVSNick(Module* Creator) : Command(Creator, "SVSNICK", 2) { flags_needed = 'o'; } + CommandSVSNick(Module* Creator) : Command(Creator, "SVSNICK", 2) { flags_needed = FLAG_SERVERONLY; } + CmdResult Handle (const std::vector& parameters, User *user); + RouteDescriptor GetRouting(User* user, const std::vector& parameters); +}; +class CommandMetadata : public Command +{ + public: + CommandMetadata(Module* Creator) : Command(Creator, "METADATA", 2) { flags_needed = FLAG_SERVERONLY; } + CmdResult Handle (const std::vector& parameters, User *user); + RouteDescriptor GetRouting(User* user, const std::vector& parameters); +}; +class CommandUID : public Command +{ + public: + CommandUID(Module* Creator) : Command(Creator, "UID", 10) { flags_needed = FLAG_SERVERONLY; } + CmdResult Handle (const std::vector& parameters, User *user); + RouteDescriptor GetRouting(User* user, const std::vector& parameters); +}; +class CommandOpertype : public Command +{ + public: + CommandOpertype(Module* Creator) : Command(Creator, "OPERTYPE", 1) { flags_needed = FLAG_SERVERONLY; } + CmdResult Handle (const std::vector& parameters, User *user); + RouteDescriptor GetRouting(User* user, const std::vector& parameters); +}; +class CommandFJoin : public Command +{ + public: + CommandFJoin(Module* Creator) : Command(Creator, "FJOIN", 3) { flags_needed = FLAG_SERVERONLY; } + CmdResult Handle (const std::vector& parameters, User *user); + RouteDescriptor GetRouting(User* user, const std::vector& parameters); + /** Remove all modes from a channel, including statusmodes (+qaovh etc), simplemodes, parameter modes. + * This does not update the timestamp of the target channel, this must be done seperately. + */ + void RemoveStatus(User* source, parameterlist ¶ms); +}; +class CommandFMode : public Command +{ + public: + CommandFMode(Module* Creator) : Command(Creator, "FMODE", 3) { flags_needed = FLAG_SERVERONLY; } CmdResult Handle (const std::vector& parameters, User *user); RouteDescriptor GetRouting(User* user, const std::vector& parameters); }; +class CommandFTopic : public Command +{ + public: + CommandFTopic(Module* Creator) : Command(Creator, "FTOPIC", 4) { flags_needed = FLAG_SERVERONLY; } + CmdResult Handle (const std::vector& parameters, User *user); + RouteDescriptor GetRouting(User* user, const std::vector& parameters); +}; +class CommandFHost : public Command +{ + public: + CommandFHost(Module* Creator) : Command(Creator, "FHOST", 1) { flags_needed = FLAG_SERVERONLY; } + CmdResult Handle (const std::vector& parameters, User *user); + RouteDescriptor GetRouting(User* user, const std::vector& parameters); +}; +class CommandFIdent : public Command +{ + public: + CommandFIdent(Module* Creator) : Command(Creator, "FIDENT", 1) { flags_needed = FLAG_SERVERONLY; } + CmdResult Handle (const std::vector& parameters, User *user); + RouteDescriptor GetRouting(User* user, const std::vector& parameters); +}; +class CommandFName : public Command +{ + public: + CommandFName(Module* Creator) : Command(Creator, "FNAME", 1) { flags_needed = FLAG_SERVERONLY; } + CmdResult Handle (const std::vector& parameters, User *user); + RouteDescriptor GetRouting(User* user, const std::vector& parameters); +}; + +class SpanningTreeCommands +{ + public: + CommandRConnect rconnect; + CommandRSQuit rsquit; + CommandSVSJoin svsjoin; + CommandSVSPart svspart; + CommandSVSNick svsnick; + CommandMetadata metadata; + CommandUID uid; + CommandOpertype opertype; + CommandFJoin fjoin; + CommandFMode fmode; + CommandFTopic ftopic; + CommandFHost fhost; + CommandFIdent fident; + CommandFName fname; + SpanningTreeCommands(ModuleSpanningTree* module); +}; #endif -- cgit v1.2.3