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::OnLoadModule(Module*, const std::string&) { }
void Module::OnUnloadModule(Module*, const std::string&) { }
void Module::OnBackgroundTimer(time_t) { }
-int Module::OnPreCommand(const std::string&, const char* const*, int, User *, bool, const std::string&) { return 0; }
-void Module::OnPostCommand(const std::string&, const char* const*, int, User *, CmdResult, const std::string&) { }
+int Module::OnPreCommand(const std::string&, const std::vector<std::string>&, User *, bool, const std::string&) { return 0; }
+void Module::OnPostCommand(const std::string&, const std::vector<std::string>&, User *, CmdResult, const std::string&) { }
bool Module::OnCheckReady(User*) { return true; }
int Module::OnUserRegister(User*) { return 0; }
int Module::OnUserPreKick(User*, User*, Channel*, const std::string&) { return 0; }
void Module::OnCleanup(int, void*) { }
int Module::OnChannelPreDelete(Channel*) { return 0; }
void Module::OnChannelDelete(Channel*) { }
-void Module::OnSetAway(User*, const std::string &) { }
+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)
return match(sliteral.c_str(),spattern.c_str());
}
-CmdResult InspIRCd::CallCommandHandler(const std::string &commandname, const char* const* parameters, int pcnt, User* user)
+CmdResult InspIRCd::CallCommandHandler(const std::string &commandname, const std::vector<std::string>& parameters, User* user)
{
- return this->Parser->CallHandler(commandname,parameters,pcnt,user);
+ return this->Parser->CallHandler(commandname, parameters, user);
}
bool InspIRCd::IsValidModuleCommand(const std::string &commandname, int pcnt, User* user)
}
}
-void InspIRCd::SendMode(const char* const* parameters, int pcnt, User *user)
+void InspIRCd::SendMode(const std::vector<std::string>& parameters, User *user)
{
- this->Modes->Process(parameters,pcnt,user,true);
+ this->Modes->Process(parameters, user, true);
}
void InspIRCd::DumpText(User* User, const std::string &LinePrefix, std::stringstream &TextStream)