X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fmodules%2Fserver.h;h=54ea5d58cca3fd2cc89896a12746de020c087e43;hb=79892a727e323dcc4bce7e9c0cf3c99c5fe61706;hp=8e64a3b35f06217ce2677613526fcc14ff474ce1;hpb=4aa27e75af8da0a5bc2e35f931f0165339f5f289;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/modules/server.h b/include/modules/server.h index 8e64a3b35..54ea5d58c 100644 --- a/include/modules/server.h +++ b/include/modules/server.h @@ -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) { } + };