X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fusermanager.h;h=361584cdaa184cd21cf30d8d218b5587d11748af;hb=ac7e37c8542159fa0efa48b43c9ab346762f1638;hp=57306c8fb4bb12dce8ae84021108a36729382870;hpb=bc730a5d1a6df1c3ff5000a96eda6e153134ae04;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/usermanager.h b/include/usermanager.h index 57306c8fb..361584cda 100644 --- a/include/usermanager.h +++ b/include/usermanager.h @@ -21,7 +21,7 @@ #include -class CoreExport UserManager +class CoreExport UserManager : public fakederef { public: struct CloneCounts @@ -37,7 +37,11 @@ class CoreExport UserManager /** Sequence container in which each element is a User* */ - typedef std::list OperList; + typedef std::vector OperList; + + /** A list holding local users + */ + typedef intrusive_list LocalList; private: /** Map of IP addresses for clone counting @@ -48,6 +52,10 @@ class CoreExport UserManager */ const CloneCounts zeroclonecounts; + /** Local client list, a list containing only local clients + */ + LocalList local_users; + public: /** Constructor, initializes variables */ @@ -66,10 +74,6 @@ class CoreExport UserManager */ user_hash uuidlist; - /** Local client list, a list containing only local clients - */ - LocalUserList local_users; - /** Oper list, a vector containing all local and remote opered users */ OperList all_opers; @@ -169,6 +173,11 @@ class CoreExport UserManager */ user_hash& GetUsers() { return clientlist; } + /** Get a list containing all local users + * @return A const list of local users + */ + const LocalList& GetLocalUsers() const { return local_users; } + /** Send a server notice to all local users * @param text The text format string to send * @param ... The format arguments