/*
* InspIRCd -- Internet Relay Chat Daemon
*
- * Copyright (C) 2014 Attila Molnar <attilamolnar@hush.com>
+ * Copyright (C) 2018, 2020 Sadie Powell <sadie@witchery.services>
+ * Copyright (C) 2014, 2016 Attila Molnar <attilamolnar@hush.com>
*
* 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
{
}
- RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters);
+ 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
* @param user The user issuing the command
* @return A value from CmdResult to indicate command success or failure.
*/
- CmdResult Handle(const std::vector<std::string>& parameters, User* user);
- RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters);
+ CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE;
};
/** Handle /COMMANDS.
* @param user The user issuing the command
* @return A value from CmdResult to indicate command success or failure.
*/
- CmdResult Handle(const std::vector<std::string>& 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.
* @param user The user issuing the command
* @return A value from CmdResult to indicate command success or failure.
*/
- CmdResult Handle(const std::vector<std::string>& parameters, User* user);
- RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters);
+ CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE;
};
/** Handle /MODULES.
*/
-class CommandModules : public Command
+class CommandModules : public ServerTargetCommand
{
public:
/** Constructor for modules.
* @param user The user issuing the command
* @return A value from CmdResult to indicate command success or failure.
*/
- CmdResult Handle(const std::vector<std::string>& parameters, User* user);
- RouteDescriptor GetRouting(User* user, const std::vector<std::string>& 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);
* @param user The user issuing the command
* @return A value from CmdResult to indicate command success or failure.
*/
- CmdResult Handle(const std::vector<std::string>& parameters, User* user);
- RouteDescriptor GetRouting(User* user, const std::vector<std::string>& 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.
* @param user The user issuing the command
* @return A value from CmdResult to indicate command success or failure.
*/
- CmdResult Handle(const std::vector<std::string>& parameters, User* user);
- RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters);
+ CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE;
};
/** Handle /VERSION.
* @param user The user issuing the command
* @return A value from CmdResult to indicate command success or failure.
*/
- CmdResult Handle(const std::vector<std::string>& parameters, User* user);
+ CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE;
};