-}
-
-InspIRCd::InspIRCd(int argc, char** argv)
- : GlobalCulls(this),
-
- /* Functor initialisation. Note that the ordering here is very important. */
- HandleProcessUser(this),
- HandleIsNick(this),
- HandleIsIdent(this),
- HandleFindDescriptor(this),
- HandleFloodQuitUser(this),
-
- /* Functor pointer initialisation. Must match the order of the list above */
- ProcessUser(&HandleProcessUser),
- IsNick(&HandleIsNick),
- IsIdent(&HandleIsIdent),
- FindDescriptor(&HandleFindDescriptor),
- FloodQuitUser(&HandleFloodQuitUser)
-
-{
-
- int found_ports = 0;
- FailedPortList pl;
- int do_version = 0, do_nofork = 0, do_debug = 0, do_nolog = 0, do_root = 0; /* flag variables */
- char c = 0;
-
- memset(&server, 0, sizeof(server));
- memset(&client, 0, sizeof(client));
-
- // This must be created first, so other parts of Insp can use it while starting up
- this->Logs = new LogManager(this);
-
- SocketEngineFactory* SEF = new SocketEngineFactory();
- SE = SEF->Create(this);
- delete SEF;
-
- this->s_signal = 0;
-
- // Create base manager classes early, so nothing breaks
- this->Users = new UserManager(this);
-
- this->Users->unregistered_count = 0;
-
- this->Users->clientlist = new user_hash();
- this->Users->uuidlist = new user_hash();
- this->chanlist = new chan_hash();
-
- this->Res = NULL;
-
- this->Config = new ServerConfig(this);
- this->SNO = new SnomaskManager(this);
- this->BanCache = new BanCacheManager(this);
- this->Modules = new ModuleManager(this);
- this->stats = new serverstats();
- this->Timers = new TimerManager(this);
- this->Parser = new CommandParser(this);
- this->XLines = new XLineManager(this);