X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fusermanager.h;h=df13124677c75a8d68831f4021b2c9dad257b57f;hb=44489ddf7e90413d8f656aea24d74445bab227af;hp=1b1b0b600f703d0b2a49dc01114e06e6eeec09a7;hpb=c0aba5b728b0a921d95ec120aa638dab1520b42f;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/usermanager.h b/include/usermanager.h index 1b1b0b600..df1312467 100644 --- a/include/usermanager.h +++ b/include/usermanager.h @@ -1,6 +1,13 @@ /* * InspIRCd -- Internet Relay Chat Daemon * + * Copyright (C) 2015 Adam + * Copyright (C) 2013-2016 Attila Molnar + * Copyright (C) 2012-2013, 2017, 2019-2020 Sadie Powell + * Copyright (C) 2012 Robby + * Copyright (C) 2010 Craig Edwards + * Copyright (C) 2009 Daniel De Graaf + * Copyright (C) 2008 Thomas Stagner * Copyright (C) 2008 Robin Burchell * * This file is part of InspIRCd. InspIRCd is free software: you can @@ -39,6 +46,9 @@ class CoreExport UserManager : public fakederef */ typedef std::vector OperList; + /** A list containing users who are on a U-lined servers. */ + typedef std::vector ULineList; + /** A list holding local users */ typedef insp::intrusive_list LocalList; @@ -82,6 +92,9 @@ class CoreExport UserManager : public fakederef */ OperList all_opers; + /** A list of users on U-lined servers. */ + ULineList all_ulines; + /** Number of unregistered users online right now. * (Unregistered means before USER/NICK/dns) */ @@ -92,12 +105,6 @@ class CoreExport UserManager : public fakederef */ void DoBackgroundUserStuff(); - /** Returns true when all modules have done pre-registration checks on a user - * @param user The user to verify - * @return True if all modules have finished checking this user - */ - bool AllModulesReportReady(LocalUser* user); - /** Handle a client connection. * Creates a new LocalUser object, inserts it into the appropriate containers, * initializes it as not yet registered, and adds it to the socket engine. @@ -131,7 +138,7 @@ class CoreExport UserManager : public fakederef */ void RemoveCloneCounts(User *user); - /** Rebuild clone counts. Required when settings change. + /** Rebuild clone counts. Required when \ settings change. */ void RehashCloneCounts(); @@ -143,7 +150,7 @@ class CoreExport UserManager : public fakederef */ const CloneCounts& GetCloneCounts(User* user) const; - /** Return a map containg IP addresses and their clone counts + /** Return a map containing IP addresses and their clone counts * @return The clone count map */ const CloneMap& GetCloneMap() const { return clonemap; } @@ -156,7 +163,7 @@ class CoreExport UserManager : public fakederef /** Return a count of fully registered connections on the network * @return The number of registered users on the network */ - unsigned int RegisteredUserCount() { return this->clientlist.size() - this->UnregisteredUserCount(); } + unsigned int RegisteredUserCount() { return this->clientlist.size() - this->UnregisteredUserCount() - this->ULineCount(); } /** Return a count of opered (umode +o) users on the network * @return The number of opers on the network @@ -168,6 +175,11 @@ class CoreExport UserManager : public fakederef */ unsigned int UnregisteredUserCount() const { return this->unregistered_count; } + /** Return a count of users on a u-lined servers. + * @return The number of users on u-lined servers. + */ + unsigned int ULineCount() const { return this->all_ulines.size(); } + /** Return a count of local registered users * @return The number of registered local users */