ports.clear();
/* Close all client sockets, or the new process inherits them */
- LocalUserList& list = Users->local_users;
- for (LocalUserList::iterator i = list.begin(); i != list.end(); ++i)
+ const UserManager::LocalList& list = Users.GetLocalUsers();
+ for (UserManager::LocalList::const_iterator i = list.begin(); i != list.end(); ++i)
Users->QuitUser(*i, "Server shutdown");
GlobalCulls.Apply();
FakeClient->cull();
}
DeleteZero(this->FakeClient);
- DeleteZero(this->Users);
DeleteZero(this->XLines);
- DeleteZero(this->SNO);
DeleteZero(this->Config);
SocketEngine::Deinit();
Logs->CloseLogs();
* THIS MUST MATCH THE ORDER OF DECLARATION OF THE FUNCTORS, e.g. the methods
* themselves within the class.
*/
- OperQuit("operquit", NULL),
+ OperQuit("operquit", ExtensionItem::EXT_USER, NULL),
GenRandom(&HandleGenRandom),
IsChannel(&HandleIsChannel),
IsNick(&HandleIsNick),
do_nolog = 0, do_root = 0;
// Initialize so that if we exit before proper initialization they're not deleted
- this->Users = 0;
this->Config = 0;
- this->SNO = 0;
this->XLines = 0;
this->ConfigThread = NULL;
this->FakeClient = NULL;
SocketEngine::Init();
- // Create base manager classes early, so nothing breaks
- this->Users = new UserManager;
-
this->Config = new ServerConfig;
- this->SNO = new SnomaskManager;
dynamic_reference_base::reset_all();
this->XLines = new XLineManager;