diff options
-rw-r--r-- | include/commands/cmd_whowas.h | 11 | ||||
-rw-r--r-- | src/coremods/core_whowas.cpp | 9 |
2 files changed, 15 insertions, 5 deletions
diff --git a/include/commands/cmd_whowas.h b/include/commands/cmd_whowas.h index f9b232281..a17785c22 100644 --- a/include/commands/cmd_whowas.h +++ b/include/commands/cmd_whowas.h @@ -60,15 +60,22 @@ namespace WhoWas class Manager { public: + struct Stats + { + /** Number of currently existing WhoWasGroup objects + */ + size_t entrycount; + }; + /** Add a user to the whowas database. Called when a user quits. * @param user The user to add to the database */ void Add(User* user); /** Retrieves statistics about the whowas database - * @return Whowas statistics + * @return Whowas statistics as a WhoWas::Manager::Stats struct */ - std::string GetStats() const; + Stats GetStats() const; /** Expires old entries */ diff --git a/src/coremods/core_whowas.cpp b/src/coremods/core_whowas.cpp index fee40377a..18c419c75 100644 --- a/src/coremods/core_whowas.cpp +++ b/src/coremods/core_whowas.cpp @@ -88,7 +88,7 @@ const WhoWas::Nick* WhoWas::Manager::FindNick(const std::string& nickname) const return nick; } -std::string WhoWas::Manager::GetStats() const +WhoWas::Manager::Stats WhoWas::Manager::GetStats() const { size_t entrycount = 0; for (whowas_users::const_iterator i = whowas.begin(); i != whowas.end(); ++i) @@ -96,7 +96,10 @@ std::string WhoWas::Manager::GetStats() const WhoWas::Nick::List& list = i->second->entries; entrycount += list.size(); } - return "Whowas entries: " + ConvToStr(entrycount); + + Stats stats; + stats.entrycount = entrycount; + return stats; } void WhoWas::Manager::Add(User* user) @@ -259,7 +262,7 @@ class ModuleWhoWas : public Module ModResult OnStats(char symbol, User* user, string_list &results) { if (symbol == 'z') - results.push_back("249 "+user->nick+" :"+cmd.manager.GetStats()); + results.push_back("249 "+user->nick+" :Whowas entries: "+ConvToStr(cmd.manager.GetStats().entrycount)); return MOD_RES_PASSTHRU; } |