X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcoremods%2Fcore_info%2Fcore_info.h;h=ecfeb4f3678e5c06fa0520aa70e33ef9411dc80e;hb=e91c675b094760407d7c00bbec17795f30978c1e;hp=894616cf71f910f4cc77e4fb46c041baa1722240;hpb=bb51cfe506e6e534ea6ce1f4d5649ba27f51666f;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 894616cf7..ecfeb4f36 100644 --- a/src/coremods/core_info/core_info.h +++ b/src/coremods/core_info/core_info.h @@ -21,11 +21,39 @@ #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 std::vector& parameters); +}; + /** Handle /ADMIN. */ -class CommandAdmin : public Command +class CommandAdmin : public ServerTargetCommand { public: + /** Holds the admin's name, for output in + * the /ADMIN command. + */ + std::string AdminName; + + /** Holds the email address of the admin, + * for output in the /ADMIN command. + */ + std::string AdminEmail; + + /** Holds the admin's nickname, for output + * in the /ADMIN command + */ + std::string AdminNick; + /** Constructor for admin. */ CommandAdmin(Module* parent); @@ -36,7 +64,6 @@ class CommandAdmin : public 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); }; /** Handle /COMMANDS. @@ -58,7 +85,7 @@ class CommandCommands : public Command /** Handle /INFO. */ -class CommandInfo : public Command +class CommandInfo : public ServerTargetCommand { public: /** Constructor for info. @@ -71,12 +98,11 @@ class CommandInfo : public 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); }; /** Handle /MODULES. */ -class CommandModules : public Command +class CommandModules : public ServerTargetCommand { public: /** Constructor for modules. @@ -89,12 +115,11 @@ class CommandModules : public 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); }; /** Handle /MOTD. */ -class CommandMotd : public Command +class CommandMotd : public ServerTargetCommand { public: /** Constructor for motd. @@ -107,12 +132,11 @@ class CommandMotd : public 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); }; /** Handle /TIME. */ -class CommandTime : public Command +class CommandTime : public ServerTargetCommand { public: /** Constructor for time. @@ -125,7 +149,6 @@ class CommandTime : public 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); }; /** Handle /VERSION.