summaryrefslogtreecommitdiff
path: root/include/protocol.h
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2008-04-04 12:30:38 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2008-04-04 12:30:38 +0000
commite48c7e038abe2954ecec30f465c811f017793332 (patch)
treef92dde2e2a533f92f4fc342890627581793bcc3a /include/protocol.h
parent04dbe9ccc53fac455310ab9eca117a838b6d1d4c (diff)
Add basic stuff for protocol interface and implement a couple of the methods. It's all in ServerInstance->PI for calls from other modules/the core
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9297 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'include/protocol.h')
-rw-r--r--include/protocol.h40
1 files changed, 40 insertions, 0 deletions
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
+