]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/main.h
Fix sending DEL for caps which have not been advertised yet.
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / main.h
index 1186f072c3682401caec0e2b1ee8ff0ff34605be..bc31a9aea902c54125d6359a2ba9526dc0142dda 100644 (file)
@@ -28,6 +28,8 @@
 #include "modules/dns.h"
 #include "modules/ssl.h"
 #include "modules/stats.h"
+#include "modules/ctctags.h"
+#include "modules/server.h"
 #include "servercommand.h"
 #include "commands.h"
 #include "protocolinterface.h"
@@ -72,6 +74,7 @@ class ModuleSpanningTree
        : public Module
        , public Away::EventListener
        , public Stats::EventListener
+       , public CTCTags::EventListener
 {
        /** Client to server commands, registered in the core
         */
@@ -91,9 +94,17 @@ class ModuleSpanningTree
         */
        SpanningTreeProtocolInterface protocolinterface;
 
-       /** Event provider for our events
-        */
-       Events::ModuleEventProvider eventprov;
+       /** Event provider for our broadcast events. */
+       Events::ModuleEventProvider broadcasteventprov;
+
+       /** Event provider for our link events. */
+       Events::ModuleEventProvider linkeventprov;
+
+       /** Event provider for our message events. */
+       Events::ModuleEventProvider messageeventprov;
+
+       /** Event provider for our sync events. */
+       Events::ModuleEventProvider synceventprov;
 
        /** API for accessing user SSL certificates. */
        UserCertificateAPI sslapi;
@@ -156,7 +167,17 @@ class ModuleSpanningTree
         */
        ModResult HandleConnect(const CommandBase::Params& parameters, User* user);
 
-       const Events::ModuleEventProvider& GetEventProvider() const { return eventprov; }
+       /** Retrieves the event provider for broadcast events. */
+       const Events::ModuleEventProvider& GetBroadcastEventProvider() const { return broadcasteventprov; }
+
+       /** Retrieves the event provider for link events. */
+       const Events::ModuleEventProvider& GetLinkEventProvider() const { return linkeventprov; }
+
+       /** Retrieves the event provider for message events. */
+       const Events::ModuleEventProvider& GetMessageEventProvider() const { return messageeventprov; }
+
+       /** Retrieves the event provider for sync events. */
+       const Events::ModuleEventProvider& GetSyncEventProvider() const { return synceventprov; }
 
        /**
         ** *** MODULE EVENTS ***
@@ -169,6 +190,7 @@ class ModuleSpanningTree
        ModResult OnPreTopicChange(User* user, Channel* chan, const std::string& topic) CXX11_OVERRIDE;
        void OnPostTopicChange(User* user, Channel* chan, const std::string &topic) CXX11_OVERRIDE;
        void OnUserPostMessage(User* user, const MessageTarget& target, const MessageDetails& details) CXX11_OVERRIDE;
+       void OnUserPostTagMessage(User* user, const MessageTarget& target, const CTCTags::TagMessageDetails& details) CXX11_OVERRIDE;
        void OnBackgroundTimer(time_t curtime) CXX11_OVERRIDE;
        void OnUserJoin(Membership* memb, bool sync, bool created, CUList& excepts) CXX11_OVERRIDE;
        void OnChangeHost(User* user, const std::string &newhost) CXX11_OVERRIDE;