]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
A convenience function for ProtocolInterface::SendMode that just takes a string,...
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Fri, 4 Apr 2008 13:21:12 +0000 (13:21 +0000)
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Fri, 4 Apr 2008 13:21:12 +0000 (13:21 +0000)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9303 e03df62e-2008-0410-955e-edbf42e46eb7

include/protocol.h
src/modules/m_messageflood.cpp
src/modules/m_timedbans.cpp

index 21e6b53965b8b2fe4449efdcae0bce6ac6299eca..85490c1d0387f5e0257f0f32c8040075064b58c3 100644 (file)
@@ -14,6 +14,8 @@
 #ifndef __PROTOCOL_H__
 #define __PROTOCOL_H__
 
+#include "hashcomp.h"
+
 class InspIRCd;
 
 typedef std::deque<std::string> parameterlist;
@@ -27,12 +29,30 @@ class ProtocolInterface : public Extensible
        virtual ~ProtocolInterface() { }
 
        virtual void SendEncapsulatedData(parameterlist &encap) { }
+
        virtual void SendMetaData(void* target, int type, const std::string &key, const std::string &data) { }
+
        virtual void SendTopic(Channel* channel, std::string &topic) { }
+
        virtual void SendMode(const std::string &target, parameterlist &modedata) { }
+
+       virtual void SendMode(const std::string &target, const std::string &modeline)
+       {
+               /* Convenience function */
+               irc::spacesepstream x(modeline);
+               parameterlist n;
+               std::string v;
+               while (x.GetToken(v))
+                       n.push_back(v);
+               SendMode(target, n);
+       }
+
        virtual void SendOperNotice(const std::string &text) { }
+
        virtual void SendModeNotice(const std::string &modes, const std::string &text) { }
+
        virtual void SendSNONotice(const std::string &snomask, const std::string &text) { }
+
        virtual void PushToClient(User* target, const std::string &rawline) { }
 };
 
index 0eff817aa3f7ed88eb5aecbb1733300f917f255f..a976549c52f2b16c0c2e87b46408319692eff420 100644 (file)
@@ -238,10 +238,7 @@ class ModuleMsgFlood : public Module
                                        parameters[2] = user->MakeWildHost();
                                        ServerInstance->SendMode(parameters,3,user);
 
-                                       parameterlist n;
-                                       n.push_back("+b");
-                                       n.push_back(user->MakeWildHost());
-                                       ServerInstance->PI->SendMode(dest->name, n);
+                                       ServerInstance->PI->SendMode(dest->name, std::string("+b ") + user->MakeWildhost());
                                }
                                char kickmessage[MAXBUF];
                                snprintf(kickmessage, MAXBUF, "Channel flood triggered (limit is %d lines in %d secs)", f->lines, f->secs);
index d592581f5d58f13f1494c3baedfb2a850874276d..6c91d115682dff608555def809c8faa1f8229b41 100644 (file)
@@ -162,12 +162,7 @@ class ModuleTimedBans : public Module
                                                setban[1] = "-b";
                                                setban[2] = i->mask.c_str();
 
-                                               /* Send mode remotely*/
-                                               std::deque<std::string> n;
-                                               n.push_back("-b");
-                                               n.push_back(setban[2]);
-
-                                               ServerInstance->PI->SendMode(i->channel, n);
+                                               ServerInstance->PI->SendMode(i->channel, std::string("-b ") + setban[2]);
                                                ServerInstance->SendMode(setban,3, ServerInstance->FakeClient);
 
                                                CUList empty;