]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/protocol.h
Add protocol api functions: PI->WriteChannelPrivmsg() and PI->WriteChannelNotice...
[user/henk/code/inspircd.git] / include / protocol.h
index 21e6b53965b8b2fe4449efdcae0bce6ac6299eca..6f9cf8022eba3664e7a0fec5e9d4fdeca608c019 100644 (file)
@@ -14,6 +14,8 @@
 #ifndef __PROTOCOL_H__
 #define __PROTOCOL_H__
 
+#include "hashcomp.h"
+
 class InspIRCd;
 
 typedef std::deque<std::string> parameterlist;
@@ -27,13 +29,35 @@ 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 SendModeStr(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) { }
+
+       virtual void SendChannelPrivmsg(Channel* target, char status, const std::string &text) { }
+
+       virtual void SendChannelNotice(Channel* target, char status, const std::string &text) { }
 };
 
 #endif