]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_inviteexception.cpp
Some more text fixes and improvements (#1618).
[user/henk/code/inspircd.git] / src / modules / m_inviteexception.cpp
index 69498a94294142b7ce16b03978e564aae84bbc47..b12c98b5da42eaf82bbc589817e9341360f0a89c 100644 (file)
@@ -24,8 +24,6 @@
 #include "inspircd.h"
 #include "listmode.h"
 
-/* $ModDesc: Provides support for the +I channel mode */
-
 /*
  * Written by Om <om@inspircd.org>, April 2005.
  * Based on m_exception, which was originally based on m_chanprotect and m_silence
 class InviteException : public ListModeBase
 {
  public:
-       InviteException(Module* Creator) : ListModeBase(Creator, "invex", 'I', "End of Channel Invite Exception List", 346, 347, true) { }
+       InviteException(Module* Creator)
+               : ListModeBase(Creator, "invex", 'I', "End of Channel Invite Exception List", 346, 347, true)
+       {
+       }
 };
 
 class ModuleInviteException : public Module
@@ -53,22 +54,12 @@ public:
        {
        }
 
-       void init()
-       {
-               ServerInstance->Modules->AddService(ie);
-
-               OnRehash(NULL);
-               ie.DoImplements(this);
-               Implementation eventlist[] = { I_On005Numeric, I_OnCheckInvite, I_OnCheckKey, I_OnRehash };
-               ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation));
-       }
-
-       void On005Numeric(std::map<std::string, std::string>& tokens)
+       void On005Numeric(std::map<std::string, std::string>& tokens) CXX11_OVERRIDE
        {
-               tokens["INVEX"] = "I";
+               tokens["INVEX"] = ConvToStr(ie.GetModeChar());
        }
 
-       ModResult OnCheckInvite(User* user, Channel* chan)
+       ModResult OnCheckInvite(User* user, Channel* chan) CXX11_OVERRIDE
        {
                ListModeBase::ModeList* list = ie.GetList(chan);
                if (list)
@@ -85,27 +76,22 @@ public:
                return MOD_RES_PASSTHRU;
        }
 
-       ModResult OnCheckKey(User* user, Channel* chan, const std::string& key)
+       ModResult OnCheckKey(User* user, Channel* chan, const std::string& key) CXX11_OVERRIDE
        {
                if (invite_bypass_key)
                        return OnCheckInvite(user, chan);
                return MOD_RES_PASSTHRU;
        }
 
-       void OnSyncChannel(Channel* chan, Module* proto, void* opaque)
-       {
-               ie.DoSyncChannel(chan, proto, opaque);
-       }
-
-       void OnRehash(User* user)
+       void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
        {
-               invite_bypass_key = ServerInstance->Config->ConfValue("inviteexception")->getBool("bypasskey", true);
                ie.DoRehash();
+               invite_bypass_key = ServerInstance->Config->ConfValue("inviteexception")->getBool("bypasskey", true);
        }
 
-       Version GetVersion()
+       Version GetVersion() CXX11_OVERRIDE
        {
-               return Version("Provides support for the +I channel mode", VF_VENDOR);
+               return Version("Provides channel mode +I, invite exceptions", VF_VENDOR);
        }
 };