Mark all command classes as final.

This commit is contained in:
Sadie Powell 2021-10-01 05:15:29 +01:00
parent e0dec0572a
commit 30e5eb6be1
74 changed files with 286 additions and 144 deletions

View File

@ -59,7 +59,8 @@ enum
ERR_KEYSET = 467
};
class CommandInvite : public Command
class CommandInvite final
: public Command
{
private:
Invite::APIImpl& invapi;
@ -72,14 +73,16 @@ class CommandInvite : public Command
RouteDescriptor GetRouting(User* user, const Params& parameters) override;
};
class CommandJoin : public SplitCommand
class CommandJoin final
: public SplitCommand
{
public:
CommandJoin(Module* parent);
CmdResult HandleLocal(LocalUser* user, const Params& parameters) override;
};
class CommandTopic : public SplitCommand
class CommandTopic final
: public SplitCommand
{
private:
CheckExemption::EventProvider exemptionprov;
@ -91,7 +94,8 @@ class CommandTopic : public SplitCommand
CmdResult HandleLocal(LocalUser* user, const Params& parameters) override;
};
class CommandNames : public SplitCommand
class CommandNames final
: public SplitCommand
{
private:
ChanModeReference secretmode;
@ -112,7 +116,8 @@ class CommandNames : public SplitCommand
void SendNames(LocalUser* user, Channel* chan, bool show_invisible);
};
class CommandKick : public Command
class CommandKick final
: public Command
{
public:
CommandKick(Module* parent);

View File

@ -76,7 +76,8 @@ class ServerTargetCommand : public Command
RouteDescriptor GetRouting(User* user, const Params& parameters) override;
};
class CommandAdmin : public ServerTargetCommand
class CommandAdmin final
: public ServerTargetCommand
{
public:
std::string adminname;
@ -94,21 +95,24 @@ class CommandCommands final
CmdResult HandleLocal(LocalUser* user, const Params& parameters) override;
};
class CommandInfo : public ServerTargetCommand
class CommandInfo final
: public ServerTargetCommand
{
public:
CommandInfo(Module* parent);
CmdResult Handle(User* user, const Params& parameters) override;
};
class CommandModules : public ServerTargetCommand
class CommandModules final
: public ServerTargetCommand
{
public:
CommandModules(Module* parent);
CmdResult Handle(User* user, const Params& parameters) override;
};
class CommandMotd : public ServerTargetCommand
class CommandMotd final
: public ServerTargetCommand
{
public:
ConfigFileCache motds;
@ -117,7 +121,8 @@ class CommandMotd : public ServerTargetCommand
CmdResult Handle(User* user, const Params& parameters) override;
};
class CommandServList : public SplitCommand
class CommandServList final
: public SplitCommand
{
private:
UserModeReference invisiblemode;
@ -127,14 +132,16 @@ class CommandServList : public SplitCommand
CmdResult HandleLocal(LocalUser* user, const Params& parameters) override;
};
class CommandTime : public ServerTargetCommand
class CommandTime final
: public ServerTargetCommand
{
public:
CommandTime(Module* parent);
CmdResult Handle(User* user, const Params& parameters) override;
};
class CommandVersion : public Command
class CommandVersion final
: public Command
{
private:
ISupportManager& isupport;

View File

@ -27,7 +27,8 @@
#include "inspircd.h"
#include "modules/isupport.h"
class CommandList : public Command
class CommandList final
: public Command
{
private:
ChanModeReference secretmode;

View File

@ -26,7 +26,8 @@
#include "inspircd.h"
class CommandLoadmodule : public Command
class CommandLoadmodule final
: public Command
{
public:
CommandLoadmodule(Module* parent)
@ -54,7 +55,8 @@ CmdResult CommandLoadmodule::Handle(User* user, const Params& parameters)
}
}
class CommandUnloadmodule : public Command
class CommandUnloadmodule final
: public Command
{
public:
CommandUnloadmodule(Module* parent)

View File

@ -55,7 +55,8 @@ struct LusersCounters
}
};
class CommandLusers : public Command
class CommandLusers final
: public Command
{
private:
LusersCounters& counters;

View File

@ -92,7 +92,8 @@ public:
}
};
class CommandMessage : public Command
class CommandMessage final
: public Command
{
private:
const MessageType msgtype;

View File

@ -24,7 +24,8 @@
#include "inspircd.h"
#include "modules/isupport.h"
class CommandMode : public Command
class CommandMode final
: public Command
{
private:
unsigned int sent[256];

View File

@ -31,14 +31,16 @@ namespace DieRestart
void SendError(const std::string& message);
}
class CommandDie : public Command
class CommandDie final
: public Command
{
public:
CommandDie(Module* parent);
CmdResult Handle(User* user, const Params& parameters) override;
};
class CommandKill : public Command
class CommandKill final
: public Command
{
std::string lastuuid;
std::string killreason;
@ -57,21 +59,24 @@ class CommandKill : public Command
void EncodeParameter(std::string& param, unsigned int index) override;
};
class CommandOper : public SplitCommand
class CommandOper final
: public SplitCommand
{
public:
CommandOper(Module* parent);
CmdResult HandleLocal(LocalUser* user, const Params& parameters) override;
};
class CommandRehash : public Command
class CommandRehash final
: public Command
{
public:
CommandRehash(Module* parent);
CmdResult Handle(User* user, const Params& parameters) override;
};
class CommandRestart : public Command
class CommandRestart final
: public Command
{
public:
CommandRestart(Module* parent);

View File

@ -48,7 +48,8 @@ class DummySerializer : public ClientProtocol::Serializer
}
};
class CommandReloadmodule : public Command
class CommandReloadmodule final
: public Command
{
Events::ModuleEventProvider evprov;
DummySerializer dummyser;

View File

@ -35,7 +35,8 @@
#pragma comment(lib, "psapi.lib") // For GetProcessMemoryInfo()
#endif
class CommandStats : public Command
class CommandStats final
: public Command
{
Events::ModuleEventProvider statsevprov;
void DoStats(Stats::Context& stats);

View File

@ -28,7 +28,8 @@ enum
ERR_USERSDISABLED = 446
};
class CommandCapab : public Command
class CommandCapab final
: public Command
{
public:
CommandCapab(Module* parent)
@ -52,7 +53,8 @@ class CommandCapab : public Command
}
};
class CommandConnect : public Command
class CommandConnect final
: public Command
{
public:
CommandConnect(Module* parent)
@ -72,7 +74,8 @@ class CommandConnect : public Command
}
};
class CommandLinks : public Command
class CommandLinks final
: public Command
{
public:
CommandLinks(Module* parent)
@ -88,7 +91,8 @@ class CommandLinks : public Command
}
};
class CommandSquit : public Command
class CommandSquit final
: public Command
{
public:
CommandSquit(Module* parent)
@ -105,7 +109,7 @@ class CommandSquit : public Command
}
};
class CommandSummon
class CommandSummon final
: public SplitCommand
{
public:
@ -121,7 +125,7 @@ class CommandSummon
}
};
class CommandUsers
class CommandUsers final
: public SplitCommand
{
public:

View File

@ -21,7 +21,8 @@
#include "inspircd.h"
#include "core_user.h"
class CommandPass : public SplitCommand
class CommandPass final
: public SplitCommand
{
public:
CommandPass(Module* parent)
@ -47,7 +48,8 @@ class CommandPass : public SplitCommand
}
};
class CommandPing : public SplitCommand
class CommandPing final
: public SplitCommand
{
public:
CommandPing(Module* parent)
@ -71,7 +73,8 @@ class CommandPing : public SplitCommand
}
};
class CommandPong : public Command
class CommandPong final
: public Command
{
public:
CommandPong(Module* parent)

View File

@ -54,7 +54,8 @@ class MessageWrapper
void ReadConfig(const char* prefixname, const char* suffixname, const char* fixedname);
};
class CommandAway : public Command
class CommandAway final
: public Command
{
private:
Away::EventProvider awayevprov;
@ -65,7 +66,8 @@ class CommandAway : public Command
RouteDescriptor GetRouting(User* user, const Params& parameters) override;
};
class CommandIson : public SplitCommand
class CommandIson final
: public SplitCommand
{
public:
CommandIson(Module* parent)
@ -78,14 +80,16 @@ class CommandIson : public SplitCommand
CmdResult HandleLocal(LocalUser* user, const Params& parameters) override;
};
class CommandNick : public SplitCommand
class CommandNick final
: public SplitCommand
{
public:
CommandNick(Module* parent);
CmdResult HandleLocal(LocalUser* user, const Params& parameters) override;
};
class CommandPart : public Command
class CommandPart final
: public Command
{
public:
MessageWrapper msgwrap;
@ -95,7 +99,8 @@ class CommandPart : public Command
RouteDescriptor GetRouting(User* user, const Params& parameters) override;
};
class CommandQuit : public Command
class CommandQuit final
: public Command
{
private:
StringExtItem operquit;
@ -108,7 +113,8 @@ class CommandQuit : public Command
RouteDescriptor GetRouting(User* user, const Params& parameters) override;
};
class CommandUser : public SplitCommand
class CommandUser final
: public SplitCommand
{
public:
CommandUser(Module* parent);
@ -124,7 +130,8 @@ class CommandUser : public SplitCommand
static CmdResult CheckRegister(LocalUser* user);
};
class CommandUserhost : public Command
class CommandUserhost final
: public Command
{
private:
UserModeReference hideopermode;

View File

@ -25,7 +25,8 @@
#include "inspircd.h"
class CommandWallops : public Command
class CommandWallops final
: public Command
{
SimpleUserMode wallopsmode;
ClientProtocol::EventProvider protoevprov;

View File

@ -112,7 +112,8 @@ struct WhoData : public Who::Request
}
};
class CommandWho : public SplitCommand
class CommandWho final
: public SplitCommand
{
private:
ChanModeReference secretmode;

View File

@ -64,7 +64,8 @@ void WhoisContextImpl::SendLine(Numeric::Numeric& numeric)
source->WriteNumeric(numeric);
}
class CommandWhois : public SplitCommand
class CommandWhois final
: public SplitCommand
{
ChanModeReference secretmode;
ChanModeReference privatemode;

View File

@ -171,7 +171,8 @@ namespace WhoWas
};
}
class CommandWhowas : public Command
class CommandWhowas final
: public Command
{
public:
// Manager handling all whowas database related tasks

View File

@ -67,28 +67,32 @@ class InsaneBan
static bool MatchesEveryone(const std::string& mask, MatcherBase& test, User* user, const char* bantype, const char* confkey);
};
class CommandEline : public Command
class CommandEline final
: public Command
{
public:
CommandEline(Module* parent);
CmdResult Handle(User* user, const Params& parameters) override;
};
class CommandGline : public Command
class CommandGline final
: public Command
{
public:
CommandGline(Module* parent);
CmdResult Handle(User* user, const Params& parameters) override;
};
class CommandKline : public Command
class CommandKline final
: public Command
{
public:
CommandKline(Module* parent);
CmdResult Handle(User* user, const Params& parameters) override;
};
class CommandQline : public Command
class CommandQline final
: public Command
{
private:
class NickMatcher : public InsaneBan::Matcher<NickMatcher>
@ -102,7 +106,8 @@ class CommandQline : public Command
CmdResult Handle(User* user, const Params& parameters) override;
};
class CommandZline : public Command
class CommandZline final
: public Command
{
private:
class IPMatcher : public InsaneBan::Matcher<IPMatcher>

View File

@ -26,7 +26,8 @@
#include "inspircd.h"
class CommandAlltime : public Command
class CommandAlltime final
: public Command
{
public:
CommandAlltime(Module* Creator) : Command(Creator, "ALLTIME", 0)

View File

@ -152,7 +152,8 @@ struct CallerIDExtInfo : public ExtensionItem
}
};
class CommandAccept : public Command
class CommandAccept final
: public Command
{
/** Pair: first is the target, second is true to add, false to remove
*/

View File

@ -354,7 +354,8 @@ class CapMessage : public Cap::MessageBase
}
};
class CommandCap : public SplitCommand
class CommandCap final
: public SplitCommand
{
private:
Events::ModuleEventProvider evprov;

View File

@ -86,7 +86,8 @@ class CBanFactory : public XLineFactory
}
};
class CommandCBan : public Command
class CommandCBan final
: public Command
{
public:
CommandCBan(Module* Creator) : Command(Creator, "CBAN", 1, 3)

View File

@ -116,7 +116,8 @@ class CheckContext
};
};
class CommandCheck : public Command
class CommandCheck final
: public Command
{
UserModeReference snomaskmode;

View File

@ -25,7 +25,8 @@
#include "inspircd.h"
class CommandChghost : public Command
class CommandChghost final
: public Command
{
public:
std::bitset<UCHAR_MAX + 1> hostmap;

View File

@ -28,7 +28,8 @@
#include "inspircd.h"
class CommandChgident : public Command
class CommandChgident final
: public Command
{
public:
CommandChgident(Module* Creator) : Command(Creator,"CHGIDENT", 2)

View File

@ -26,7 +26,8 @@
#include "inspircd.h"
class CommandChgname : public Command
class CommandChgname final
: public Command
{
public:
CommandChgname(Module* Creator) : Command(Creator,"CHGNAME", 2, 2)

View File

@ -22,7 +22,8 @@
#include "inspircd.h"
#include "xline.h"
class CommandClearChan : public Command
class CommandClearChan final
: public Command
{
public:
Channel* activechan;

View File

@ -191,7 +191,8 @@ class CloakUser : public ModeHandler
}
};
class CommandCloak : public Command
class CommandCloak final
: public Command
{
public:
CommandCloak(Module* Creator) : Command(Creator, "CLOAK", 1)

View File

@ -59,7 +59,8 @@ struct CustomTitle
typedef std::multimap<std::string, CustomTitle> CustomVhostMap;
class CommandTitle : public Command
class CommandTitle final
: public Command
{
public:
StringExtItem ctitle;

View File

@ -28,7 +28,8 @@
#include "inspircd.h"
class CommandCycle : public SplitCommand
class CommandCycle final
: public SplitCommand
{
public:
CommandCycle(Module* Creator)

View File

@ -179,7 +179,8 @@ class DCCAllowExt : public SimpleExtItem<dccallowlist>
}
};
class CommandDccallow : public Command
class CommandDccallow final
: public Command
{
public:
DCCAllowExt& ext;

View File

@ -167,7 +167,8 @@ class FilterResult
FilterResult() = default;
};
class CommandFilter : public Command
class CommandFilter final
: public Command
{
public:
CommandFilter(Module* f)

View File

@ -119,7 +119,8 @@ class WebIRCHost
}
};
class CommandHexIP : public SplitCommand
class CommandHexIP final
: public SplitCommand
{
public:
CommandHexIP(Module* Creator)
@ -220,7 +221,8 @@ class GatewayExtBan
}
};
class CommandWebIRC : public SplitCommand
class CommandWebIRC final
: public SplitCommand
{
public:
std::vector<WebIRCHost> hosts;

View File

@ -26,7 +26,8 @@
#include "inspircd.h"
class CommandGLoadModule : public Command
class CommandGLoadModule final
: public Command
{
public:
CommandGLoadModule(Module* Creator)
@ -65,7 +66,8 @@ class CommandGLoadModule : public Command
}
};
class CommandGUnloadModule : public Command
class CommandGUnloadModule final
: public Command
{
public:
CommandGUnloadModule(Module* Creator)
@ -116,7 +118,8 @@ class CommandGUnloadModule : public Command
}
};
class CommandGReloadModule : public Command
class CommandGReloadModule final
: public Command
{
public:
CommandGReloadModule(Module* Creator)

View File

@ -28,7 +28,8 @@
#include "inspircd.h"
class CommandGlobops : public Command
class CommandGlobops final
: public Command
{
public:
CommandGlobops(Module* Creator) : Command(Creator,"GLOBOPS", 1,1)

View File

@ -55,7 +55,8 @@ struct HelpTopic
typedef std::map<std::string, HelpTopic, irc::insensitive_swo> HelpMap;
class CommandHelpop : public Command
class CommandHelpop final
: public Command
{
private:
const std::string startkey;

View File

@ -23,7 +23,8 @@
#include "modules/ctctags.h"
#include "modules/isupport.h"
class CommandTagMsg : public Command
class CommandTagMsg final
: public Command
{
private:
Cap::Capability& cap;

View File

@ -54,7 +54,8 @@ enum KnockNotify : uint8_t
/** Handles the /KNOCK command
*/
class CommandKnock : public Command
class CommandKnock final
: public Command
{
SimpleChannelMode& noknockmode;
ChanModeReference inviteonlymode;

View File

@ -260,7 +260,8 @@ enum
ERR_MONLISTFULL = 734
};
class CommandMonitor : public SplitCommand
class CommandMonitor final
: public SplitCommand
{
typedef Numeric::Builder<> ReplyBuilder;
// Additional penalty for the /MONITOR L and /MONITOR S commands that request a list from the server

View File

@ -55,7 +55,8 @@ static void DisplayList(LocalUser* user, Channel* channel)
user->WriteNumeric(RPL_ENDOFPROPLIST, channel->name, "End of mode list");
}
class CommandProp : public SplitCommand
class CommandProp final
: public SplitCommand
{
public:
CommandProp(Module* parent)

View File

@ -34,7 +34,8 @@ enum
RPL_NICKLOCKOFF = 945
};
class CommandNicklock : public Command
class CommandNicklock final
: public Command
{
public:
BoolExtItem& locked;
@ -92,7 +93,8 @@ class CommandNicklock : public Command
}
};
class CommandNickunlock : public Command
class CommandNickunlock final
: public Command
{
public:
BoolExtItem& locked;

View File

@ -24,7 +24,8 @@
#define NETWORK_VALUE 9000000
class CommandOjoin : public SplitCommand
class CommandOjoin final
: public SplitCommand
{
public:
bool active;

View File

@ -37,7 +37,8 @@ enum
RPL_ENDOFOMOTD = 722
};
class CommandOpermotd : public Command
class CommandOpermotd final
: public Command
{
public:
file_cache opermotd;

View File

@ -27,7 +27,8 @@
#include "inspircd.h"
#include "modules/hash.h"
class CommandMkpasswd : public Command
class CommandMkpasswd final
: public Command
{
public:
CommandMkpasswd(Module* Creator) : Command(Creator, "MKPASSWD", 2)

View File

@ -115,7 +115,8 @@ class RLineFactory : public XLineFactory
}
};
class CommandRLine : public Command
class CommandRLine final
: public Command
{
std::string rxengine;
RLineFactory& factory;

View File

@ -23,7 +23,8 @@
#include "inspircd.h"
#include "listmode.h"
class CommandRMode : public Command
class CommandRMode final
: public Command
{
public:
CommandRMode(Module* Creator) : Command(Creator,"RMODE", 2, 3)

View File

@ -27,7 +27,8 @@
#include "inspircd.h"
class CommandSajoin : public Command
class CommandSajoin final
: public Command
{
public:
CommandSajoin(Module* Creator) : Command(Creator,"SAJOIN", 1)

View File

@ -24,7 +24,8 @@
#include "inspircd.h"
class CommandSakick : public Command
class CommandSakick final
: public Command
{
public:
CommandSakick(Module* Creator) : Command(Creator,"SAKICK", 2, 3)

View File

@ -26,7 +26,8 @@
#include "inspircd.h"
class CommandSamode : public Command
class CommandSamode final
: public Command
{
bool logged;

View File

@ -25,7 +25,8 @@
#include "inspircd.h"
class CommandSanick : public Command
class CommandSanick final
: public Command
{
public:
CommandSanick(Module* Creator) : Command(Creator,"SANICK", 2)

View File

@ -25,7 +25,8 @@
#include "inspircd.h"
class CommandSapart : public Command
class CommandSapart final
: public Command
{
public:
CommandSapart(Module* Creator) : Command(Creator,"SAPART", 2, 3)

View File

@ -27,7 +27,8 @@
#include "inspircd.h"
class CommandSaquit : public Command
class CommandSaquit final
: public Command
{
public:
CommandSaquit(Module* Creator) : Command(Creator, "SAQUIT", 2, 2)

View File

@ -305,7 +305,8 @@ class SaslAuthenticator
}
};
class CommandAuthenticate : public SplitCommand
class CommandAuthenticate final
: public SplitCommand
{
private:
// The maximum length of an AUTHENTICATE request.
@ -354,7 +355,8 @@ class CommandAuthenticate : public SplitCommand
}
};
class CommandSASL : public Command
class CommandSASL final
: public Command
{
public:
SimpleExtItem<SaslAuthenticator>& authExt;

View File

@ -26,7 +26,8 @@
#include "inspircd.h"
class CommandSATopic : public Command
class CommandSATopic final
: public Command
{
public:
CommandSATopic(Module* Creator) : Command(Creator,"SATOPIC", 2, 2)

View File

@ -25,7 +25,8 @@
#include "inspircd.h"
class CommandSethost : public Command
class CommandSethost final
: public Command
{
public:
std::bitset<UCHAR_MAX + 1> hostmap;

View File

@ -27,7 +27,8 @@
#include "inspircd.h"
class CommandSetident : public Command
class CommandSetident final
: public Command
{
public:
CommandSetident(Module* Creator) : Command(Creator,"SETIDENT", 1)

View File

@ -34,7 +34,8 @@ enum
RPL_IDLETIMESET = 944
};
class CommandSetidle : public SplitCommand
class CommandSetidle final
: public SplitCommand
{
public:
CommandSetidle(Module* Creator) : SplitCommand(Creator,"SETIDLE", 1)

View File

@ -27,7 +27,8 @@
#include "modules/ircv3.h"
#include "modules/ircv3_replies.h"
class CommandSetName : public SplitCommand
class CommandSetName final
: public SplitCommand
{
private:
IRCv3::Replies::Fail fail;

View File

@ -29,7 +29,8 @@ enum
ERR_NORULES = 434
};
class CommandShowFile : public Command
class CommandShowFile final
: public Command
{
enum Method
{

View File

@ -43,7 +43,8 @@ class SeeWhois final
}
};
class WhoisNoticeCmd : public Command
class WhoisNoticeCmd final
: public Command
{
public:
WhoisNoticeCmd(Module* Creator) : Command(Creator,"WHOISNOTICE", 2)

View File

@ -52,7 +52,8 @@ class ShunFactory : public XLineFactory
}
};
class CommandShun : public Command
class CommandShun final
: public Command
{
public:
CommandShun(Module* Creator) : Command(Creator, "SHUN", 1, 3)

View File

@ -273,7 +273,8 @@ class SilenceMessage : public ClientProtocol::Message
}
};
class CommandSilence : public SplitCommand
class CommandSilence final
: public SplitCommand
{
private:
ClientProtocol::EventProvider msgprov;

View File

@ -43,7 +43,8 @@ using SpanningTree::CommandPing;
using SpanningTree::CommandPong;
using SpanningTree::CommandServer;
class CommandRConnect : public Command
class CommandRConnect final
: public Command
{
public:
CommandRConnect(Module* Creator);
@ -51,7 +52,8 @@ class CommandRConnect : public Command
RouteDescriptor GetRouting(User* user, const Params& parameters) override;
};
class CommandRSQuit : public Command
class CommandRSQuit final
: public Command
{
public:
CommandRSQuit(Module* Creator);
@ -59,7 +61,8 @@ class CommandRSQuit : public Command
RouteDescriptor GetRouting(User* user, const Params& parameters) override;
};
class CommandMap : public Command
class CommandMap final
: public Command
{
public:
CommandMap(Module* Creator);
@ -67,7 +70,8 @@ class CommandMap : public Command
RouteDescriptor GetRouting(User* user, const Params& parameters) override;
};
class CommandSVSJoin : public ServerCommand
class CommandSVSJoin final
: public ServerCommand
{
public:
CommandSVSJoin(Module* Creator) : ServerCommand(Creator, "SVSJOIN", 2) { }
@ -75,7 +79,8 @@ class CommandSVSJoin : public ServerCommand
RouteDescriptor GetRouting(User* user, const Params& parameters) override;
};
class CommandSVSPart : public ServerCommand
class CommandSVSPart final
: public ServerCommand
{
public:
CommandSVSPart(Module* Creator) : ServerCommand(Creator, "SVSPART", 2) { }
@ -83,7 +88,8 @@ class CommandSVSPart : public ServerCommand
RouteDescriptor GetRouting(User* user, const Params& parameters) override;
};
class CommandSVSNick : public ServerCommand
class CommandSVSNick final
: public ServerCommand
{
public:
CommandSVSNick(Module* Creator) : ServerCommand(Creator, "SVSNICK", 3) { }
@ -91,7 +97,8 @@ class CommandSVSNick : public ServerCommand
RouteDescriptor GetRouting(User* user, const Params& parameters) override;
};
class CommandMetadata : public ServerCommand
class CommandMetadata final
: public ServerCommand
{
public:
CommandMetadata(Module* Creator) : ServerCommand(Creator, "METADATA", 2) { }
@ -107,7 +114,8 @@ class CommandMetadata : public ServerCommand
};
};
class CommandUID : public ServerOnlyServerCommand<CommandUID>
class CommandUID final
: public ServerOnlyServerCommand<CommandUID>
{
public:
CommandUID(Module* Creator) : ServerOnlyServerCommand<CommandUID>(Creator, "UID", 10) { }
@ -120,7 +128,8 @@ class CommandUID : public ServerOnlyServerCommand<CommandUID>
};
};
class CommandOpertype : public UserOnlyServerCommand<CommandOpertype>
class CommandOpertype final
: public UserOnlyServerCommand<CommandOpertype>
{
public:
CommandOpertype(Module* Creator) : UserOnlyServerCommand<CommandOpertype>(Creator, "OPERTYPE", 1) { }
@ -135,7 +144,8 @@ class CommandOpertype : public UserOnlyServerCommand<CommandOpertype>
class TreeSocket;
class FwdFJoinBuilder;
class CommandFJoin : public ServerCommand
class CommandFJoin final
: public ServerCommand
{
/** 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 separately.
@ -182,14 +192,16 @@ class CommandFJoin : public ServerCommand
};
};
class CommandFMode : public ServerCommand
class CommandFMode final
: public ServerCommand
{
public:
CommandFMode(Module* Creator) : ServerCommand(Creator, "FMODE", 3) { }
CmdResult Handle(User* user, Params& params) override;
};
class CommandFTopic : public ServerCommand
class CommandFTopic final
: public ServerCommand
{
public:
CommandFTopic(Module* Creator) : ServerCommand(Creator, "FTOPIC", 4, 5) { }
@ -203,42 +215,48 @@ class CommandFTopic : public ServerCommand
};
};
class CommandFHost : public UserOnlyServerCommand<CommandFHost>
class CommandFHost final
: public UserOnlyServerCommand<CommandFHost>
{
public:
CommandFHost(Module* Creator) : UserOnlyServerCommand<CommandFHost>(Creator, "FHOST", 1) { }
CmdResult HandleRemote(RemoteUser* user, Params& params);
};
class CommandFRHost : public UserOnlyServerCommand<CommandFRHost>
class CommandFRHost final
: public UserOnlyServerCommand<CommandFRHost>
{
public:
CommandFRHost(Module* Creator) : UserOnlyServerCommand<CommandFRHost>(Creator, "FRHOST", 1) { }
CmdResult HandleRemote(RemoteUser* user, Params& params);
};
class CommandFIdent : public UserOnlyServerCommand<CommandFIdent>
class CommandFIdent final
: public UserOnlyServerCommand<CommandFIdent>
{
public:
CommandFIdent(Module* Creator) : UserOnlyServerCommand<CommandFIdent>(Creator, "FIDENT", 1) { }
CmdResult HandleRemote(RemoteUser* user, Params& params);
};
class CommandFName : public UserOnlyServerCommand<CommandFName>
class CommandFName final
: public UserOnlyServerCommand<CommandFName>
{
public:
CommandFName(Module* Creator) : UserOnlyServerCommand<CommandFName>(Creator, "FNAME", 1) { }
CmdResult HandleRemote(RemoteUser* user, Params& params);
};
class CommandIJoin : public UserOnlyServerCommand<CommandIJoin>
class CommandIJoin final
: public UserOnlyServerCommand<CommandIJoin>
{
public:
CommandIJoin(Module* Creator) : UserOnlyServerCommand<CommandIJoin>(Creator, "IJOIN", 2) { }
CmdResult HandleRemote(RemoteUser* user, Params& params);
};
class CommandResync : public ServerOnlyServerCommand<CommandResync>
class CommandResync final
: public ServerOnlyServerCommand<CommandResync>
{
public:
CommandResync(Module* Creator) : ServerOnlyServerCommand<CommandResync>(Creator, "RESYNC", 1) { }
@ -246,7 +264,8 @@ class CommandResync : public ServerOnlyServerCommand<CommandResync>
RouteDescriptor GetRouting(User* user, const Params& parameters) override { return ROUTE_LOCALONLY; }
};
class SpanningTree::CommandAway : public UserOnlyServerCommand<SpanningTree::CommandAway>
class SpanningTree::CommandAway final
: public UserOnlyServerCommand<SpanningTree::CommandAway>
{
private:
Away::EventProvider awayevprov;
@ -267,7 +286,8 @@ class SpanningTree::CommandAway : public UserOnlyServerCommand<SpanningTree::Com
};
class XLine;
class CommandAddLine : public ServerCommand
class CommandAddLine final
: public ServerCommand
{
public:
CommandAddLine(Module* Creator) : ServerCommand(Creator, "ADDLINE", 6, 6) { }
@ -280,14 +300,16 @@ class CommandAddLine : public ServerCommand
};
};
class CommandDelLine : public ServerCommand
class CommandDelLine final
: public ServerCommand
{
public:
CommandDelLine(Module* Creator) : ServerCommand(Creator, "DELLINE", 2, 2) { }
CmdResult Handle(User* user, Params& parameters) override;
};
class CommandEncap : public ServerCommand
class CommandEncap final
: public ServerCommand
{
public:
CommandEncap(Module* Creator) : ServerCommand(Creator, "ENCAP", 2) { }
@ -295,7 +317,8 @@ class CommandEncap : public ServerCommand
RouteDescriptor GetRouting(User* user, const Params& parameters) override;
};
class CommandIdle : public UserOnlyServerCommand<CommandIdle>
class CommandIdle final
: public UserOnlyServerCommand<CommandIdle>
{
public:
CommandIdle(Module* Creator) : UserOnlyServerCommand<CommandIdle>(Creator, "IDLE", 1) { }
@ -303,14 +326,16 @@ class CommandIdle : public UserOnlyServerCommand<CommandIdle>
RouteDescriptor GetRouting(User* user, const Params& parameters) override { return ROUTE_UNICAST(parameters[0]); }
};
class SpanningTree::CommandNick : public UserOnlyServerCommand<SpanningTree::CommandNick>
class SpanningTree::CommandNick final
: public UserOnlyServerCommand<SpanningTree::CommandNick>
{
public:
CommandNick(Module* Creator) : UserOnlyServerCommand<SpanningTree::CommandNick>(Creator, "NICK", 2) { }
CmdResult HandleRemote(::RemoteUser* user, Params& parameters);
};
class SpanningTree::CommandPing : public ServerCommand
class SpanningTree::CommandPing final
: public ServerCommand
{
public:
CommandPing(Module* Creator) : ServerCommand(Creator, "PING", 1) { }
@ -318,7 +343,8 @@ class SpanningTree::CommandPing : public ServerCommand
RouteDescriptor GetRouting(User* user, const Params& parameters) override { return ROUTE_UNICAST(parameters[0]); }
};
class SpanningTree::CommandPong : public ServerOnlyServerCommand<SpanningTree::CommandPong>
class SpanningTree::CommandPong final
: public ServerOnlyServerCommand<SpanningTree::CommandPong>
{
public:
CommandPong(Module* Creator) : ServerOnlyServerCommand<SpanningTree::CommandPong>(Creator, "PONG", 1) { }
@ -326,7 +352,8 @@ class SpanningTree::CommandPong : public ServerOnlyServerCommand<SpanningTree::C
RouteDescriptor GetRouting(User* user, const Params& parameters) override { return ROUTE_UNICAST(parameters[0]); }
};
class DllExport CommandSave : public ServerCommand
class DllExport CommandSave final
: public ServerCommand
{
public:
/** Timestamp of the uuid nick of all users who collided and got their nick changed to uuid
@ -337,7 +364,8 @@ class DllExport CommandSave : public ServerCommand
CmdResult Handle(User* user, Params& parameters) override;
};
class SpanningTree::CommandServer : public ServerOnlyServerCommand<SpanningTree::CommandServer>
class SpanningTree::CommandServer final
: public ServerOnlyServerCommand<SpanningTree::CommandServer>
{
static void HandleExtra(TreeServer* newserver, Params& params);
@ -356,28 +384,32 @@ class SpanningTree::CommandServer : public ServerOnlyServerCommand<SpanningTree:
};
};
class CommandSQuit : public ServerOnlyServerCommand<CommandSQuit>
class CommandSQuit final
: public ServerOnlyServerCommand<CommandSQuit>
{
public:
CommandSQuit(Module* Creator) : ServerOnlyServerCommand<CommandSQuit>(Creator, "SQUIT", 2) { }
CmdResult HandleServer(TreeServer* server, Params& parameters);
};
class CommandSNONotice : public ServerCommand
class CommandSNONotice final
: public ServerCommand
{
public:
CommandSNONotice(Module* Creator) : ServerCommand(Creator, "SNONOTICE", 2) { }
CmdResult Handle(User* user, Params& parameters) override;
};
class CommandEndBurst : public ServerOnlyServerCommand<CommandEndBurst>
class CommandEndBurst final
: public ServerOnlyServerCommand<CommandEndBurst>
{
public:
CommandEndBurst(Module* Creator) : ServerOnlyServerCommand<CommandEndBurst>(Creator, "ENDBURST") { }
CmdResult HandleServer(TreeServer* server, Params& parameters);
};
class CommandSInfo : public ServerOnlyServerCommand<CommandSInfo>
class CommandSInfo final
: public ServerOnlyServerCommand<CommandSInfo>
{
public:
CommandSInfo(Module* Creator) : ServerOnlyServerCommand<CommandSInfo>(Creator, "SINFO", 2) { }
@ -390,7 +422,8 @@ class CommandSInfo : public ServerOnlyServerCommand<CommandSInfo>
};
};
class CommandNum : public ServerOnlyServerCommand<CommandNum>
class CommandNum final
: public ServerOnlyServerCommand<CommandNum>
{
public:
CommandNum(Module* Creator) : ServerOnlyServerCommand<CommandNum>(Creator, "NUM", 3) { }
@ -404,7 +437,8 @@ class CommandNum : public ServerOnlyServerCommand<CommandNum>
};
};
class CommandLMode : public ServerCommand
class CommandLMode final
: public ServerCommand
{
public:
CommandLMode(Module* Creator) : ServerCommand(Creator, "LMODE", 3) { }

View File

@ -153,7 +153,8 @@ class UserCertificateAPIImpl : public UserCertificateAPIBase
}
};
class CommandSSLInfo : public SplitCommand
class CommandSSLInfo final
: public SplitCommand
{
private:
ChanModeReference sslonlymode;

View File

@ -32,7 +32,8 @@ enum
ERR_STARTTLS = 691
};
class CommandStartTLS : public SplitCommand
class CommandStartTLS final
: public SplitCommand
{
dynamic_reference_nocheck<IOHookProvider>& ssl;

View File

@ -93,7 +93,8 @@ class SVSHoldFactory : public XLineFactory
}
};
class CommandSvshold : public Command
class CommandSvshold final
: public Command
{
public:
CommandSvshold(Module* Creator) : Command(Creator, "SVSHOLD", 1)

View File

@ -27,7 +27,8 @@
#include "inspircd.h"
#include "modules/whois.h"
class CommandSwhois : public Command
class CommandSwhois final
: public Command
{
public:
BoolExtItem operblock;

View File

@ -46,7 +46,8 @@ class TimedBan
typedef std::vector<TimedBan> timedbans;
timedbans TimedBanList;
class CommandTban : public Command
class CommandTban final
: public Command
{
ChanModeReference banmode;

View File

@ -25,7 +25,8 @@
#include "inspircd.h"
class CommandTline : public Command
class CommandTline final
: public Command
{
public:
CommandTline(Module* Creator) : Command(Creator,"TLINE", 1)

View File

@ -25,7 +25,8 @@ enum
ERR_TOPICLOCK = 744
};
class CommandSVSTOPIC : public Command
class CommandSVSTOPIC final
: public Command
{
public:
CommandSVSTOPIC(Module* Creator)

View File

@ -35,7 +35,8 @@ enum
RPL_UNINVITED = 653
};
class CommandUninvite : public Command
class CommandUninvite final
: public Command
{
Invite::API invapi;
public:

View File

@ -27,7 +27,8 @@
#include "inspircd.h"
#include "modules/isupport.h"
class CommandUserip : public Command
class CommandUserip final
: public Command
{
public:
CommandUserip(Module* Creator) : Command(Creator,"USERIP", 1)

View File

@ -49,7 +49,8 @@ struct CustomVhost
typedef std::multimap<std::string, CustomVhost> CustomVhostMap;
class CommandVhost : public Command
class CommandVhost final
: public Command
{
public:
CustomVhostMap vhosts;

View File

@ -44,7 +44,8 @@ enum
ERR_INVALIDWATCHNICK = 942
};
class CommandWatch : public SplitCommand
class CommandWatch final
: public SplitCommand
{
// Additional penalty for /WATCH commands that request a list from the server
static const unsigned int ListPenalty = 4000;