#include <list>
-class CoreExport UserManager
+class CoreExport UserManager : public fakederef<UserManager>
{
public:
struct CloneCounts
*/
typedef std::vector<User*> OperList;
+ /** A list holding local users
+ */
+ typedef insp::intrusive_list<LocalUser> LocalList;
+
private:
/** Map of IP addresses for clone counting
*/
*/
const CloneCounts zeroclonecounts;
+ /** Local client list, a list containing only local clients
+ */
+ LocalList local_users;
+
public:
/** Constructor, initializes variables
*/
*/
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;
*/
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