]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/modules/spanningtree.h
Convert the spanningtree events to use the new cross-module event system
[user/henk/code/inspircd.git] / include / modules / spanningtree.h
index 99f4f9fc40cf83d3a4df2d555146d7616817fd20..0f51c35db27a35f22826e58e39a7f97ccf1d2588 100644 (file)
 
 #pragma once
 
-struct AddServerEvent : public Event
-{
-       const std::string servername;
-       AddServerEvent(Module* me, const std::string& name)
-               : Event(me, "new_server"), servername(name)
-       {
-               Send();
-       }
-};
+#include "event.h"
 
-struct DelServerEvent : public Event
+class SpanningTreeEventListener : public Events::ModuleEventListener
 {
-       const std::string servername;
-       DelServerEvent(Module* me, const std::string& name)
-               : Event(me, "lost_server"), servername(name)
+ public:
+       SpanningTreeEventListener(Module* mod)
+               : ModuleEventListener(mod, "event/spanningtree")
        {
-               Send();
        }
+
+       /** Fired when a server finishes burst
+        * @param server Server that recently linked and finished burst
+        */
+       virtual void OnServerLink(const std::string& server) { }
+
+        /** Fired when a server splits
+         * @param server Server that split
+         */
+       virtual void OnServerSplit(const std::string& server) { }
 };