X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcoremods%2Fcore_info%2Fcore_info.h;h=fb9716a2ce2765af60dd109a5f0c968b7e9b1590;hb=HEAD;hp=f5dd9e6483a27116ec6ac98a66b0e1f8bd8dbb6c;hpb=8f5efbc7aa33b792e02d01e3288f553e6e98ccaa;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/coremods/core_info/core_info.h b/src/coremods/core_info/core_info.h index f5dd9e648..fb9716a2c 100644 --- a/src/coremods/core_info/core_info.h +++ b/src/coremods/core_info/core_info.h @@ -1,7 +1,8 @@ /* * InspIRCd -- Internet Relay Chat Daemon * - * Copyright (C) 2014 Attila Molnar + * Copyright (C) 2018, 2020 Sadie Powell + * Copyright (C) 2014, 2016 Attila Molnar * * This file is part of InspIRCd. InspIRCd is free software: you can * redistribute it and/or modify it under the terms of the GNU General Public @@ -21,9 +22,22 @@ #include "inspircd.h" +/** These commands require no parameters, but if there is a parameter it is a server name where the command will be routed to. + */ +class ServerTargetCommand : public Command +{ + public: + ServerTargetCommand(Module* mod, const std::string& Name) + : Command(mod, Name) + { + } + + RouteDescriptor GetRouting(User* user, const Params& parameters) CXX11_OVERRIDE; +}; + /** Handle /ADMIN. */ -class CommandAdmin : public Command +class CommandAdmin : public ServerTargetCommand { public: /** Holds the admin's name, for output in @@ -50,8 +64,7 @@ class CommandAdmin : public Command * @param user The user issuing the command * @return A value from CmdResult to indicate command success or failure. */ - CmdResult Handle(const std::vector& parameters, User* user); - RouteDescriptor GetRouting(User* user, const std::vector& parameters); + CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE; }; /** Handle /COMMANDS. @@ -68,12 +81,12 @@ class CommandCommands : public Command * @param user The user issuing the command * @return A value from CmdResult to indicate command success or failure. */ - CmdResult Handle(const std::vector& parameters, User* user); + CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE; }; /** Handle /INFO. */ -class CommandInfo : public Command +class CommandInfo : public ServerTargetCommand { public: /** Constructor for info. @@ -85,13 +98,12 @@ class CommandInfo : public Command * @param user The user issuing the command * @return A value from CmdResult to indicate command success or failure. */ - CmdResult Handle(const std::vector& parameters, User* user); - RouteDescriptor GetRouting(User* user, const std::vector& parameters); + CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE; }; /** Handle /MODULES. */ -class CommandModules : public Command +class CommandModules : public ServerTargetCommand { public: /** Constructor for modules. @@ -103,15 +115,16 @@ class CommandModules : public Command * @param user The user issuing the command * @return A value from CmdResult to indicate command success or failure. */ - CmdResult Handle(const std::vector& parameters, User* user); - RouteDescriptor GetRouting(User* user, const std::vector& parameters); + CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE; }; /** Handle /MOTD. */ -class CommandMotd : public Command +class CommandMotd : public ServerTargetCommand { public: + ConfigFileCache motds; + /** Constructor for motd. */ CommandMotd(Module* parent); @@ -121,13 +134,22 @@ class CommandMotd : public Command * @param user The user issuing the command * @return A value from CmdResult to indicate command success or failure. */ - CmdResult Handle(const std::vector& parameters, User* user); - RouteDescriptor GetRouting(User* user, const std::vector& parameters); + CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE; +}; + +class CommandServList : public SplitCommand +{ + private: + UserModeReference invisiblemode; + + public: + CommandServList(Module* parent); + CmdResult HandleLocal(LocalUser* user, const Params& parameters) CXX11_OVERRIDE; }; /** Handle /TIME. */ -class CommandTime : public Command +class CommandTime : public ServerTargetCommand { public: /** Constructor for time. @@ -139,8 +161,7 @@ class CommandTime : public Command * @param user The user issuing the command * @return A value from CmdResult to indicate command success or failure. */ - CmdResult Handle(const std::vector& parameters, User* user); - RouteDescriptor GetRouting(User* user, const std::vector& parameters); + CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE; }; /** Handle /VERSION. @@ -157,5 +178,5 @@ class CommandVersion : public Command * @param user The user issuing the command * @return A value from CmdResult to indicate command success or failure. */ - CmdResult Handle(const std::vector& parameters, User* user); + CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE; };