]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_nickflood.cpp
m_spanningtree Remove SpanningTreeUtilities* fields and parameters
[user/henk/code/inspircd.git] / src / modules / m_nickflood.cpp
index 04d7c8b5e2cc86d28e812cf578bcc4a64639f282..66e7ca520970e6bfbfb7f1dee8ee4cf32401ca20 100644 (file)
@@ -20,8 +20,6 @@
 
 #include "inspircd.h"
 
-/* $ModDesc: Provides channel mode +F (nick flood protection) */
-
 /** Holds settings and state associated with channel mode +F
  */
 class nickfloodsettings
@@ -115,16 +113,14 @@ class NickFlood : public ModeHandler
 
                        ext.set(channel, new nickfloodsettings(nsecs, nnicks));
                        parameter = ConvToStr(nnicks) + ":" + ConvToStr(nsecs);
-                       channel->SetModeParam('F', parameter);
                        return MODEACTION_ALLOW;
                }
                else
                {
-                       if (!channel->IsModeSet('F'))
+                       if (!channel->IsModeSet(this))
                                return MODEACTION_DENY;
 
                        ext.unset(channel);
-                       channel->SetModeParam('F', "");
                        return MODEACTION_ALLOW;
                }
        }
@@ -135,25 +131,19 @@ class ModuleNickFlood : public Module
        NickFlood nf;
 
  public:
-
        ModuleNickFlood()
                : nf(this)
        {
        }
 
-       void init()
+       void init() CXX11_OVERRIDE
        {
                ServerInstance->Modules->AddService(nf);
                ServerInstance->Modules->AddService(nf.ext);
-               Implementation eventlist[] = { I_OnUserPreNick, I_OnUserPostNick };
-               ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation));
        }
 
-       ModResult OnUserPreNick(User* user, const std::string &newnick)
+       ModResult OnUserPreNick(User* user, const std::string &newnick) CXX11_OVERRIDE
        {
-               if (ServerInstance->NICKForced.get(user)) /* Allow forced nick changes */
-                       return MOD_RES_PASSTHRU;
-
                for (UCListIter i = user->chans.begin(); i != user->chans.end(); i++)
                {
                        Channel *channel = *i;
@@ -188,7 +178,7 @@ class ModuleNickFlood : public Module
        /*
         * XXX: HACK: We do the increment on the *POST* event here (instead of all together) because we have no way of knowing whether other modules would block a nickchange.
         */
-       void OnUserPostNick(User* user, const std::string &oldnick)
+       void OnUserPostNick(User* user, const std::string &oldnick) CXX11_OVERRIDE
        {
                if (isdigit(user->nick[0])) /* allow switches to UID */
                        return;
@@ -214,11 +204,7 @@ class ModuleNickFlood : public Module
                }
        }
 
-       ~ModuleNickFlood()
-       {
-       }
-
-       Version GetVersion()
+       Version GetVersion() CXX11_OVERRIDE
        {
                return Version("Channel mode F - nick flood protection", VF_VENDOR);
        }