]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/commands/cmd_wallops.cpp
Replace hardcoded mode letters, part 3
[user/henk/code/inspircd.git] / src / commands / cmd_wallops.cpp
index 0effa3c5a88b9da8b553a993338af624312eb368..e0e832ff7a413d6ecdda2863f9d3a861e36f585f 100644 (file)
  */
 class CommandWallops : public Command
 {
+       UserModeReference wallopsmode;
+
  public:
        /** Constructor for wallops.
         */
-       CommandWallops ( Module* parent) : Command(parent,"WALLOPS",1,1) { flags_needed = 'o'; syntax = "<any-text>"; }
+       CommandWallops(Module* parent)
+               : Command(parent, "WALLOPS", 1, 1)
+               , wallopsmode(parent, "wallops")
+       {
+               flags_needed = 'o';
+               syntax = "<any-text>";
+       }
+
        /** Handle command.
         * @param parameters The parameters to the comamnd
         * @param pcnt The number of parameters passed to teh command
@@ -38,6 +47,11 @@ class CommandWallops : public 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)
+       {
+               return ROUTE_BROADCAST;
+       }
 };
 
 CmdResult CommandWallops::Handle (const std::vector<std::string>& parameters, User *user)
@@ -45,14 +59,13 @@ CmdResult CommandWallops::Handle (const std::vector<std::string>& parameters, Us
        std::string wallop("WALLOPS :");
        wallop.append(parameters[0]);
 
-       for (std::vector<LocalUser*>::const_iterator i = ServerInstance->Users->local_users.begin(); i != ServerInstance->Users->local_users.end(); i++)
+       for (LocalUserList::const_iterator i = ServerInstance->Users->local_users.begin(); i != ServerInstance->Users->local_users.end(); i++)
        {
                User* t = *i;
-               if (t->IsModeSet('w'))
+               if (t->IsModeSet(wallopsmode))
                        user->WriteTo(t,wallop);
        }
 
-       FOREACH_MOD(I_OnWallops,OnWallops(user,parameters[0]));
        return CMD_SUCCESS;
 }