Module::Module(InspIRCd* Me) : ServerInstance(Me) { }
Module::~Module() { }
-void Module::OnReadConfig(ServerConfig*, ConfigReader*) { }
-int Module::OnDownloadFile(const std::string&, std::istream*&) { return 0; }
void Module::OnUserConnect(User*) { }
void Module::OnUserQuit(User*, const std::string&, const std::string&) { }
void Module::OnUserDisconnect(User*) { }
void Module::OnUserPart(User*, Channel*, const std::string&, bool&) { }
void Module::OnRehash(User*, const std::string&) { }
void Module::OnServerRaw(std::string&, bool, User*) { }
-int Module::OnUserPreJoin(User*, Channel*, const char*, std::string&) { return 0; }
+int Module::OnUserPreJoin(User*, Channel*, const char*, std::string&, const std::string&) { return 0; }
void Module::OnMode(User*, void*, int, const std::string&) { }
Version Module::GetVersion() { return Version(1,0,0,0,VF_VENDOR,-1); }
void Module::OnOper(User*, const std::string&) { }
void Module::OnCleanup(int, void*) { }
int Module::OnChannelPreDelete(Channel*) { return 0; }
void Module::OnChannelDelete(Channel*) { }
-void Module::OnSetAway(User*) { }
-void Module::OnCancelAway(User*) { }
+int Module::OnSetAway(User*, const std::string &) { return 0; }
int Module::OnUserList(User*, Channel*, CUList*&) { return 0; }
int Module::OnWhoisLine(User*, User*, int&, std::string&) { return 0; }
void Module::OnBuildExemptList(MessageType, Channel*, User*, char, CUList&, const std::string&) { }
{
/* Try and locate and load all modules matching the pattern */
dirent* entry = NULL;
- while ((entry = readdir(library)))
+ while (0 != (entry = readdir(library)))
{
if (Instance->MatchText(entry->d_name, filename))
{
if (!ServerConfig::DirValid(modfile))
{
- LastModuleError = "Module " + filename_str + " is not within the modules directory.";
+ LastModuleError = "Module " + std::string(filename) + " is not in the module directory that i am configured to look in (is "+Instance->Config->ModPath+" really a symlink?)";
Instance->Logs->Log("MODULE", DEFAULT, LastModuleError);
return false;
}
modulelist ml;
ml.push_back(Mod);
Interfaces[InterfaceName] = std::make_pair(0, ml);
- return true;
}
else
{
iter->second.second.push_back(Mod);
- return true;
}
- return false;
+ return true;
}
bool ModuleManager::UnpublishInterface(const std::string &InterfaceName, Module* Mod)