mirror of
https://github.com/inspircd/inspircd.git
synced 2025-03-10 11:09:04 -04:00
Provide a facility for modules to flag a config file completed
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8576 e03df62e-2008-0410-955e-edbf42e46eb7
This commit is contained in:
parent
6408757295
commit
60a6385be4
@ -260,6 +260,8 @@ class CoreExport ServerConfig : public Extensible
|
||||
bool Downloading();
|
||||
|
||||
void StartDownloads();
|
||||
|
||||
void Complete(const std::string &filename, bool error);
|
||||
|
||||
/** This holds all the information in the config file,
|
||||
* it's indexed by tag name to a vector of key/values.
|
||||
|
@ -1208,6 +1208,10 @@ void ServerConfig::Read(bool bail, User* user, int pass)
|
||||
{
|
||||
for (std::vector<std::string>::iterator adding = added_modules.begin(); adding != added_modules.end(); adding++)
|
||||
{
|
||||
/* Skip over modules that are aleready loaded for some reason */
|
||||
if (ServerInstance->Modules->Find(*adding))
|
||||
continue;
|
||||
|
||||
if (bail)
|
||||
printf_c("[\033[1;32m*\033[0m] Loading module:\t\033[1;32m%s\033[0m\n", adding->c_str());
|
||||
|
||||
@ -1253,6 +1257,24 @@ bool ServerConfig::Downloading()
|
||||
return (TotalDownloaded < IncludedFiles.size());
|
||||
}
|
||||
|
||||
void ServerConfig::Complete(const std::string &filename, bool error)
|
||||
{
|
||||
std::map<std::string, std::istream*>::iterator x = IncludedFiles.find(filename);
|
||||
|
||||
if (x != IncludedFiles.end())
|
||||
{
|
||||
TotalDownloaded++;
|
||||
if (error)
|
||||
{
|
||||
delete x->second;
|
||||
x->second = NULL;
|
||||
FileErrors++;
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
void ServerConfig::StartDownloads()
|
||||
{
|
||||
if (isatty(0) && isatty(1) && isatty(2))
|
||||
|
Loading…
x
Reference in New Issue
Block a user