]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/protocol.h
Merge the second interface for socket hooking into one, so it's all done by Add/Del...
[user/henk/code/inspircd.git] / include / protocol.h
index 85490c1d0387f5e0257f0f32c8040075064b58c3..8579f03aacdfc74beafd669911912403ef194bfa 100644 (file)
 #include "hashcomp.h"
 
 class InspIRCd;
+class User;
 
 typedef std::deque<std::string> parameterlist;
 
+class ProtoServer
+{
+ public:
+       std::string servername;
+       std::string parentname;
+       std::string gecos;
+       unsigned int usercount;
+       unsigned int opercount;
+       unsigned int latencyms;
+};
+
+typedef std::list<ProtoServer> ProtoServerList;
+
 class ProtocolInterface : public Extensible
 {
  protected:
@@ -36,7 +50,7 @@ class ProtocolInterface : public Extensible
 
        virtual void SendMode(const std::string &target, parameterlist &modedata) { }
 
-       virtual void SendMode(const std::string &target, const std::string &modeline)
+       virtual void SendModeStr(const std::string &target, const std::string &modeline)
        {
                /* Convenience function */
                irc::spacesepstream x(modeline);
@@ -47,13 +61,23 @@ class ProtocolInterface : public Extensible
                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) { }
+
+       virtual void SendUserPrivmsg(User* target, const std::string &text) { }
+
+       virtual void SendUserNotice(User* target, const std::string &text) { }
+
+       virtual void GetServerList(ProtoServerList &sl) { }
+
+       virtual void Introduce(User* u) { }
 };
 
 #endif