]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/commands/cmd_whowas.cpp
cmd_lusers Refresh max local/global user counters after a user connects
[user/henk/code/inspircd.git] / src / commands / cmd_whowas.cpp
index 837e5d01627832347bb09d86238320c3f7c6c78b..17a779ec33df209e513a788ff3ba707b62bb11c9 100644 (file)
@@ -1,16 +1,25 @@
-/*       +------------------------------------+
- *       | Inspire Internet Relay Chat Daemon |
- *       +------------------------------------+
+/*
+ * InspIRCd -- Internet Relay Chat Daemon
  *
- *  InspIRCd: (C) 2002-2009 InspIRCd Development Team
- * See: http://wiki.inspircd.org/Credits
+ *   Copyright (C) 2009 Daniel De Graaf <danieldg@inspircd.org>
+ *   Copyright (C) 2008 Thomas Stagner <aquanight@inspircd.org>
+ *   Copyright (C) 2008 Craig Edwards <craigedwards@brainbox.cc>
+ *   Copyright (C) 2007-2008 Robin Burchell <robin+git@viroteck.net>
  *
- * This program is free but copyrighted software; see
- *            the file COPYING for details.
+ * 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
+ * License as published by the Free Software Foundation, version 2.
  *
- * ---------------------------------------------------
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+
 #include "inspircd.h"
 #include "commands/cmd_whowas.h"
 
@@ -29,7 +38,7 @@ CmdResult CommandWhowas::Handle (const std::vector<std::string>& parameters, Use
        /* if whowas disabled in config */
        if (ServerInstance->Config->WhoWasGroupSize == 0 || ServerInstance->Config->WhoWasMaxGroups == 0)
        {
-               user->WriteNumeric(421, "%s %s :This command has been disabled.",user->nick.c_str(),command.c_str());
+               user->WriteNumeric(421, "%s %s :This command has been disabled.",user->nick.c_str(),name.c_str());
                return CMD_FAILURE;
        }
 
@@ -97,8 +106,7 @@ std::string CommandWhowas::GetStats()
                        whowas_bytes += (sizeof(whowas_set) + ( sizeof(WhoWasGroup) * n->size() ) );
                }
        }
-       stats.assign("Whowas(MAPSETS) " +ConvToStr(whowas_size)+" ("+ConvToStr(whowas_bytes)+" bytes)");
-       return stats;
+       return "Whowas entries: " +ConvToStr(whowas_size)+" ("+ConvToStr(whowas_bytes)+" bytes)";
 }
 
 void CommandWhowas::AddToWhoWas(User* user)
@@ -311,19 +319,23 @@ class ModuleWhoWas : public Module
  public:
        ModuleWhoWas() : cmd(this)
        {
-               ServerInstance->AddCommand(&cmd);
        }
 
-       const char* OnRequest(Request* request)
+       void init()
+       {
+               ServerInstance->Modules->AddService(cmd);
+       }
+
+       void OnRequest(Request& request)
        {
-               WhowasRequest* req = static_cast<WhowasRequest*>(request);
-               switch (req->type)
+               WhowasRequest& req = static_cast<WhowasRequest&>(request);
+               switch (req.type)
                {
                        case WhowasRequest::WHOWAS_ADD:
-                               cmd.AddToWhoWas(req->user);
+                               cmd.AddToWhoWas(req.user);
                                break;
                        case WhowasRequest::WHOWAS_STATS:
-                               req->value = cmd.GetStats();
+                               req.value = cmd.GetStats();
                                break;
                        case WhowasRequest::WHOWAS_PRUNE:
                                cmd.PruneWhoWas(ServerInstance->Time());
@@ -332,7 +344,6 @@ class ModuleWhoWas : public Module
                                cmd.MaintainWhoWas(ServerInstance->Time());
                                break;
                }
-               return NULL;
        }
 
        Version GetVersion()