]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/modules/server.h
Improve the debug logging for httpd_acl auth attempts.
[user/henk/code/inspircd.git] / include / modules / server.h
index 6bd10b3e3ef603a678f50527fa7dce990d8b3d15..63aa39e4a3e25100a51d355cdf07f72437c8c863 100644 (file)
@@ -1,6 +1,10 @@
 /*
  * InspIRCd -- Internet Relay Chat Daemon
  *
+ *   Copyright (C) 2015 Attila Molnar <attilamolnar@hush.com>
+ *   Copyright (C) 2013, 2017-2019 Sadie Powell <sadie@witchery.services>
+ *   Copyright (C) 2012 Robby <robby@chatbelgie.be>
+ *   Copyright (C) 2010 Craig Edwards <brain@inspircd.org>
  *   Copyright (C) 2009 Daniel De Graaf <danieldg@inspircd.org>
  *
  * This file is part of InspIRCd.  InspIRCd is free software: you can
 
 #pragma once
 
+#ifdef __GNUC__
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#endif
+
 #include "event.h"
 
 namespace ServerProtocol
 {
        class BroadcastEventListener;
        class LinkEventListener;
+       class MessageEventListener;
        class SyncEventListener;
 }
 
@@ -55,15 +65,50 @@ class ServerProtocol::LinkEventListener
        {
        }
 
-       /** Fired when a server finishes burst
-        * @param server Server that recently linked and finished burst
+       /** Fired when a server has linked to the network.
+        * @param server Server that recently linked.
         */
        virtual void OnServerLink(const Server* server) { }
 
-        /** Fired when a server splits
-         * @param server Server that split
-         */
-       virtual void OnServerSplit(const Server* server) { }
+       /** Fired when a server has finished bursting.
+        * @param server Server that recently finished bursting.
+        */
+       virtual void OnServerBurst(const Server* server) { }
+
+       /** Fired when a server splits
+        * @param server Server that split
+        * @param error Whether the server split because of an error.
+        */
+       virtual void OnServerSplit(const Server* server, bool error) { OnServerSplit(server); }
+
+       /** Fired when a server splits
+        * @param server Server that split
+        */
+       DEPRECATED_METHOD(virtual void OnServerSplit(const Server* server)) { }
+};
+
+class ServerProtocol::MessageEventListener
+       : public Events::ModuleEventListener
+{
+ public:
+       MessageEventListener(Module* mod)
+               : ModuleEventListener(mod, "event/server-message")
+       {
+       }
+
+       /** Fired when a server message is being sent by a user.
+        * @param source The user who sent the message.
+        * @param name The name of the command which was sent.
+        * @param tags The tags which will be sent with the message.
+        */
+       virtual void OnBuildMessage(User* source, const char* name, ClientProtocol::TagMap& tags) { }
+
+       /** Fired when a server message is being sent by a server.
+        * @param source The server who sent the message.
+        * @param name The name of the command which was sent.
+        * @param tags The tags which will be sent with the message.
+        */
+       virtual void OnBuildMessage(Server* source, const char* name, ClientProtocol::TagMap& tags) { }
 };
 
 class ServerProtocol::SyncEventListener
@@ -109,3 +154,8 @@ class ServerEventListener
        {
        }
 };
+
+#ifdef __GNUC__
+# pragma GCC diagnostic pop
+#endif
+