void InspIRCd::Cleanup()
{
std::vector<std::string> mymodnames;
- int MyModCount = this->GetModuleCount();
+ int MyModCount = this->Modules->GetCount();
if (Config)
{
*/
for (int tries = 0; tries < 3; tries++)
{
- MyModCount = this->GetModuleCount();
+ MyModCount = this->Modules->GetCount();
mymodnames.clear();
if (MyModCount)
mymodnames.push_back(Config->module_names[j]);
for (int k = 0; k <= MyModCount; k++)
- this->UnloadModule(mymodnames[k].c_str());
+ this->Modules->Unload(mymodnames[k].c_str());
}
}
}
InspIRCd::InspIRCd(int argc, char** argv)
- : ModCount(0),
- GlobalCulls(this),
+ : GlobalCulls(this),
/* Functor initialisation. Note that the ordering here is very important. */
HandleProcessUser(this),
int do_version = 0, do_nofork = 0, do_debug = 0, do_nolog = 0, do_root = 0; /* flag variables */
char c = 0;
- modules.resize(255);
- factory.resize(255);
memset(&server, 0, sizeof(server));
memset(&client, 0, sizeof(client));
Exit(EXIT_STATUS_LOG);
}
- /* set up fake client */
- this->FakeClient = new userrec(this);
- this->FakeClient->SetFd(FD_MAGIC_NUMBER);
-
+ this->Modules = new ModuleManager(this);
this->stats = new serverstats();
this->Timers = new TimerManager(this);
this->Parser = new CommandParser(this);
this->XLines = new XLineManager(this);
+
Config->ClearStack();
Config->Read(true, NULL);
+
+ this->Modules->modules.resize(255);
+ this->Modules->handles.resize(255);
/*
* Initialise UID. XXX, we need to read SID from config, and use it instead of 000.
for(i = 3; i < UUID_LENGTH - 1; i++)
current_uid[i] = 'A';
+ /* set up fake client */
+ this->FakeClient = new userrec(this);
+ this->FakeClient->SetFd(FD_MAGIC_NUMBER);
+
if (!do_root)
this->CheckRoot();
else
this->Res = new DNS(this);
- this->LoadAllModules();
+ this->Modules->LoadAll();
+
/* Just in case no modules were loaded - fix for bug #101 */
this->BuildISupport();
InitializeDisabledCommands(Config->DisabledCommands, this);
if (!Config->global_implementation[I_OnCheckReady])
return true;
- for (int i = 0; i <= this->GetModuleCount(); i++)
+ for (int i = 0; i <= this->Modules->GetCount(); i++)
{
if (Config->implement_lists[i][I_OnCheckReady])
{
- int res = modules[i]->OnCheckReady(user);
+ int res = this->Modules->modules[i]->OnCheckReady(user);
if (!res)
return false;
}
return true;
}
-int InspIRCd::GetModuleCount()
-{
- return this->ModCount;
-}
-
time_t InspIRCd::Time(bool delta)
{
if (delta)
{
*mysig = signal;
}
-