X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_spanningtree%2Fcommands.h;h=110b3d93d9afd426122872288c0e2efeb88c7f6b;hb=f3ebd00f119f322f2887f88c37d3fce7743d9587;hp=f15708a9ae617445b0a030018003e2e200b154eb;hpb=1031f333332cf1b09db4fd632f141143ee637c34;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_spanningtree/commands.h b/src/modules/m_spanningtree/commands.h index f15708a9a..110b3d93d 100644 --- a/src/modules/m_spanningtree/commands.h +++ b/src/modules/m_spanningtree/commands.h @@ -19,7 +19,7 @@ #pragma once -#include "main.h" +#include "servercommand.h" #include "commandbuilder.h" /** Handle /RCONNECT @@ -42,14 +42,6 @@ class CommandRSQuit : public Command class CommandMap : public Command { - /** Show MAP output to a user (recursive) - */ - void ShowMap(TreeServer* Current, User* user, int depth, int &line, char* names, int &maxnamew, char* stats); - - /** Returns oper-specific MAP information - */ - std::string MapOperInfo(TreeServer* Current); - public: CommandMap(Module* Creator); CmdResult Handle(const std::vector& parameters, User* user); @@ -129,7 +121,16 @@ class CommandFJoin : public ServerCommand */ static void RemoveStatus(Channel* c); static void ApplyModeStack(User* srcuser, Channel* c, irc::modestacker& stack); - bool ProcessModeUUIDPair(const std::string& item, TreeSocket* src_socket, Channel* chan, irc::modestacker* modestack); + + /** + * Lowers the TS on the given channel: removes all modes, unsets all extensions, + * clears the topic and removes all pending invites. + * @param chan The target channel whose TS to lower + * @param TS The new TS to set + * @param newname The new name of the channel; must be the same or a case change of the current name + */ + static void LowerTS(Channel* chan, time_t TS, const std::string& newname); + void ProcessModeUUIDPair(const std::string& item, TreeSocket* src_socket, Channel* chan, irc::modestacker* modestack); public: CommandFJoin(Module* Creator) : ServerCommand(Creator, "FJOIN", 3) { } CmdResult Handle(User* user, std::vector& params); @@ -180,7 +181,7 @@ class CommandFName : public UserOnlyServerCommand class CommandIJoin : public UserOnlyServerCommand { public: - CommandIJoin(Module* Creator) : UserOnlyServerCommand(Creator, "IJOIN", 1) { } + CommandIJoin(Module* Creator) : UserOnlyServerCommand(Creator, "IJOIN", 2) { } CmdResult HandleRemote(RemoteUser* user, std::vector& params); }; @@ -331,9 +332,6 @@ class CommandEndBurst : public ServerOnlyServerCommand class SpanningTreeCommands { public: - CommandRConnect rconnect; - CommandRSQuit rsquit; - CommandMap map; CommandSVSJoin svsjoin; CommandSVSPart svspart; CommandSVSNick svsnick;