]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/modules/server.h
Implement support for WEBIRC attributes.
[user/henk/code/inspircd.git] / include / modules / server.h
index 8e64a3b35f06217ce2677613526fcc14ff474ce1..54ea5d58cca3fd2cc89896a12746de020c087e43 100644 (file)
@@ -29,6 +29,14 @@ class ServerEventListener : public Events::ModuleEventListener
        {
        }
 
+       /** Fired when a channel message is being broadcast across the network.
+        * @param channel The channel which is having a message sent to it.
+        * @param server The server which might have a message broadcast to it.
+        * @return Either MOD_RES_ALLOW to always send the message to the server, MOD_RES_DENY to never
+        *         send the message to the server or MOD_RES_PASSTHRU if no module handled the event.
+        */
+       virtual ModResult OnBroadcastMessage(Channel* channel, const Server* server) { return MOD_RES_PASSTHRU; }
+
        /** Fired when a server finishes burst
         * @param server Server that recently linked and finished burst
         */
@@ -38,4 +46,24 @@ class ServerEventListener : public Events::ModuleEventListener
          * @param server Server that split
          */
        virtual void OnServerSplit(const Server* server) { }
+
+       /** Allows modules to synchronize user metadata during a netburst. This will
+        * be called for every user visible on your side of the burst.
+        * @param user The user being synchronized.
+        * @param server The target of the burst.
+        */
+       virtual void OnSyncUser(User* user, ProtocolServer& server) { }
+
+       /** Allows modules to synchronize channel metadata during a netburst. This will
+        * be called for every channel visible on your side of the burst.
+        * @param chan The channel being synchronized.
+        * @param server The target of the burst.
+        */
+       virtual void OnSyncChannel(Channel* chan, ProtocolServer& server) { }
+
+       /** Allows modules to synchronize network metadata during a netburst.
+        * @param server The target of the burst.
+        */
+       virtual void OnSyncNetwork(ProtocolServer& server) { }
+       
 };