diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/inspircd.h | 5 | ||||
-rw-r--r-- | include/protocol.h | 40 |
2 files changed, 45 insertions, 0 deletions
diff --git a/include/inspircd.h b/include/inspircd.h index 05e33cf0c..c1c6379a4 100644 --- a/include/inspircd.h +++ b/include/inspircd.h @@ -56,6 +56,7 @@ #include "modules.h" #include "configreader.h" #include "inspstring.h" +#include "protocol.h" /** * Used to define the maximum number of parameters a command may have. @@ -463,6 +464,10 @@ class CoreExport InspIRCd : public classbase */ int s_signal; + /** Protocol interface, overridden by server protocol modules + */ + ProtocolInterface* PI; + /** Get the current time * Because this only calls time() once every time around the mainloop, * it is much faster than calling time() directly. diff --git a/include/protocol.h b/include/protocol.h new file mode 100644 index 000000000..65369e781 --- /dev/null +++ b/include/protocol.h @@ -0,0 +1,40 @@ +/* +------------------------------------+ + * | Inspire Internet Relay Chat Daemon | + * +------------------------------------+ + * + * InspIRCd: (C) 2002-2008 InspIRCd Development Team + * See: http://www.inspircd.org/wiki/index.php/Credits + * + * This program is free but copyrighted software; see + * the file COPYING for details. + * + * --------------------------------------------------- + */ + +#ifndef __PROTOCOL_H__ +#define __PROTOCOL_H__ + +class InspIRCd; + +typedef std::deque<std::string> parameterlist; + +class ProtocolInterface : public Extensible +{ + protected: + InspIRCd* ServerInstance; + public: + ProtocolInterface(InspIRCd* Instance) : ServerInstance(Instance) { } + 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 &origin, const std::string &target, parameterlist &modedata) { } + 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) { } +}; + +#endif + |