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::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&) { }
void Module::OnBufferFlushed(User*) { }
void Module::OnText(User*, void*, int, const std::string&, char, CUList&) { }
void Module::OnRunTestSuite() { }
-
+void Module::OnNamesListItem(User*, User*, Channel*, std::string&, std::string&) { }
+int Module::OnNumeric(User*, unsigned int, const std::string&) { return 0; }
+void Module::OnHookUserIO(User*, const std::string&) { }
ModuleManager::ModuleManager(InspIRCd* Ins) : ModCount(0), Instance(Ins)
{
* on which they want, and we make sure our module is *at least* before or after
* the first or last of this subset, depending again on the type of priority.
*/
- size_t swap_pos;
+ size_t swap_pos = 0;
size_t source = 0;
bool swap = true;
bool found = false;
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;
}
this->data = new ConfigDataHash;
this->privatehash = true;
this->errorlog = new std::ostringstream(std::stringstream::in | std::stringstream::out);
- /*** XXX: Can return a 'not ready yet!' code! */
- this->readerror = ServerInstance->Config->LoadConf(*this->data, filename, *this->errorlog);
+ /*** XXX: This might block! */
+ this->readerror = ServerInstance->Config->DoInclude(*this->data, filename, *this->errorlog);
if (!this->readerror)
this->error = CONF_FILE_NOT_FOUND;
}