X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules.cpp;h=b9f5de63cd33a5a16eb056f06022f42e2e6161cf;hb=fd820825ac669c9cd8cc8b7a69ca855159b0d3cb;hp=bc72f9f97b8a059778287b686f9d5081f401fc2f;hpb=c16cda5d715241bb4bff8050bee942a8a34a72c0;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules.cpp b/src/modules.cpp index bc72f9f97..b9f5de63c 100644 --- a/src/modules.cpp +++ b/src/modules.cpp @@ -2,7 +2,7 @@ * | Inspire Internet Relay Chat Daemon | * +------------------------------------+ * - * InspIRCd: (C) 2002-2008 InspIRCd Development Team + * InspIRCd: (C) 2002-2009 InspIRCd Development Team * See: http://www.inspircd.org/wiki/index.php/Credits * * This program is free but copyrighted software; see @@ -26,8 +26,8 @@ #endif // version is a simple class for holding a modules version number -Version::Version(int major, int minor, int revision, int build, int flags, int api_ver) -: Major(major), Minor(minor), Revision(revision), Build(build), Flags(flags), API(api_ver) +Version::Version(const std::string &sversion, int flags, int api_ver) +: version(sversion), Flags(flags), API(api_ver) { } @@ -103,8 +103,10 @@ std::string Event::GetEventID() // These declarations define the behavours of the base class Module (which does nothing at all) - Module::Module(InspIRCd* Me) : ServerInstance(Me) { } - Module::~Module() { } +Module::Module(InspIRCd* Me) : ServerInstance(Me) { } +Module::~Module() { } + +int Module::OnSendSnotice(char &snomask, std::string &type, const std::string &message) { return 0; } void Module::OnUserConnect(User*) { } void Module::OnUserQuit(User*, const std::string&, const std::string&) { } void Module::OnUserDisconnect(User*) { } @@ -112,10 +114,9 @@ void Module::OnUserJoin(User*, Channel*, bool, bool&) { } void Module::OnPostJoin(User*, Channel*) { } void Module::OnUserPart(User*, Channel*, 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&, 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); } +Version Module::GetVersion() { return Version("Misconfigured", VF_VENDOR, -1); } void Module::OnOper(User*, const std::string&) { } void Module::OnPostOper(User*, const std::string&, const std::string &) { } void Module::OnInfo(User*) { } @@ -168,12 +169,12 @@ void Module::OnPostLocalTopicChange(User*, Channel*, const std::string&) { } void Module::OnGetServerDescription(const std::string&, std::string&) { } void Module::OnSyncUser(User*, Module*, void*) { } void Module::OnSyncChannel(Channel*, Module*, void*) { } -void Module::ProtoSendMode(void*, int, void*, const std::string&) { } +void Module::ProtoSendMode(void*, TargetTypeFlags, void*, const std::string&) { } void Module::OnSyncChannelMetaData(Channel*, Module*, void*, const std::string&, bool) { } void Module::OnSyncUserMetaData(User*, Module*, void*, const std::string&, bool) { } void Module::OnSyncOtherMetaData(Module*, void*, bool) { } void Module::OnDecodeMetaData(int, void*, const std::string&, const std::string&) { } -void Module::ProtoSendMetaData(void*, int, void*, const std::string&, const std::string&) { } +void Module::ProtoSendMetaData(void*, TargetTypeFlags, void*, const std::string&, const std::string&) { } void Module::OnWallops(User*, const std::string&) { } void Module::OnChangeHost(User*, const std::string&) { } void Module::OnChangeName(User*, const std::string&) { } @@ -194,6 +195,7 @@ 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&) { } +bool Module::OnHostCycle(User* user) { return false; } ModuleManager::ModuleManager(InspIRCd* Ins) : ModCount(0), Instance(Ins) { @@ -373,7 +375,7 @@ bool ModuleManager::Load(const char* filename) dirent* entry = NULL; while (0 != (entry = readdir(library))) { - if (InspIRCd::Match(entry->d_name, filename, NULL)) + if (InspIRCd::Match(entry->d_name, filename, ascii_case_insensitive_map)) { if (!this->Load(entry->d_name)) n_match++; @@ -439,7 +441,7 @@ bool ModuleManager::Load(const char* filename) } else { - Instance->Logs->Log("MODULE", DEFAULT,"New module introduced: %s (API version %d, Module version %d.%d.%d.%d)%s", filename, v.API, v.Major, v.Minor, v.Revision, v.Build, (!(v.Flags & VF_VENDOR) ? " [3rd Party]" : " [Vendor]")); + Instance->Logs->Log("MODULE", DEFAULT,"New module introduced: %s (API version %d, Module version %s)%s", filename, v.API, v.version.c_str(), (!(v.Flags & VF_VENDOR) ? " [3rd Party]" : " [Vendor]")); } Modules[filename_str] = std::make_pair(newhandle, newmod); @@ -810,6 +812,7 @@ ConfigReader::ConfigReader(InspIRCd* Instance) : ServerInstance(Instance) this->error = CONF_NO_ERROR; this->data = &ServerInstance->Config->config_data; this->privatehash = false; + this->error = 0; } @@ -834,6 +837,7 @@ ConfigReader::ConfigReader(InspIRCd* Instance, const std::string &filename) : Se this->readerror = ServerInstance->Config->DoInclude(*this->data, filename, *this->errorlog); if (!this->readerror) this->error = CONF_FILE_NOT_FOUND; + this->error = 0; } @@ -898,7 +902,7 @@ long ConfigReader::GetError() void ConfigReader::DumpErrors(bool bail, User* user) { - ServerInstance->Config->ReportConfigError(this->errorlog->str(), bail, user); + ServerInstance->Config->ReportConfigError(this->errorlog->str(), bail, user->uuid); }