summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSadie Powell <sadie@witchery.services>2020-01-03 20:48:07 +0000
committerSadie Powell <sadie@witchery.services>2020-01-03 21:01:52 +0000
commita9e8e1f03ace24e9dcb50299f8e66c5fd6b42850 (patch)
tree4396a3cf211c68b5739afa2c67ba856739dccf1f
parent45eff275cbc942a9b16f55367e6d5bd2bbfad2e0 (diff)
Add an event provider class for the event/messagetag event.
-rw-r--r--include/clientprotocol.h13
-rw-r--r--include/typedefs.h1
-rw-r--r--src/clientprotocol.cpp2
-rw-r--r--src/modules/m_spanningtree/main.cpp2
-rw-r--r--src/modules/m_spanningtree/main.h2
5 files changed, 16 insertions, 4 deletions
diff --git a/include/clientprotocol.h b/include/clientprotocol.h
index 95683dc8f..6ecfbc709 100644
--- a/include/clientprotocol.h
+++ b/include/clientprotocol.h
@@ -515,6 +515,16 @@ class ClientProtocol::Event
void GetMessagesForUser(LocalUser* user, MessageList& messagelist);
};
+class ClientProtocol::MessageTagEvent
+ : public Events::ModuleEventProvider
+{
+ public:
+ MessageTagEvent(Module* mod)
+ : ModuleEventProvider(mod, "event/messagetag")
+ {
+ }
+};
+
/** Base class for message tag providers.
* All message tags belong to a message tag provider. Message tag providers can populate messages
* with tags before the message is sent and they have the job of determining whether a user should
@@ -667,7 +677,8 @@ struct ClientProtocol::RFCEvents
*/
class CoreExport ClientProtocol::Serializer : public DataProvider
{
- Events::ModuleEventProvider evprov;
+ private:
+ ClientProtocol::MessageTagEvent evprov;
/** Make a white list containing which tags a user should get.
* @param user User in question.
diff --git a/include/typedefs.h b/include/typedefs.h
index 20fc596be..d1f46beae 100644
--- a/include/typedefs.h
+++ b/include/typedefs.h
@@ -54,6 +54,7 @@ namespace ClientProtocol
class Event;
class EventProvider;
class Message;
+ class MessageTagEvent;
class MessageTagProvider;
class Serializer;
diff --git a/src/clientprotocol.cpp b/src/clientprotocol.cpp
index ee3909fbf..19fdbb2c9 100644
--- a/src/clientprotocol.cpp
+++ b/src/clientprotocol.cpp
@@ -21,7 +21,7 @@
ClientProtocol::Serializer::Serializer(Module* mod, const char* Name)
: DataProvider(mod, std::string("serializer/") + Name)
- , evprov(mod, "event/messagetag")
+ , evprov(mod)
{
}
diff --git a/src/modules/m_spanningtree/main.cpp b/src/modules/m_spanningtree/main.cpp
index 59d349d39..8a9bcfa66 100644
--- a/src/modules/m_spanningtree/main.cpp
+++ b/src/modules/m_spanningtree/main.cpp
@@ -51,7 +51,7 @@ ModuleSpanningTree::ModuleSpanningTree()
, sslapi(this)
, servicetag(this)
, DNS(this, "DNS")
- , tagevprov(this, "event/messagetag")
+ , tagevprov(this)
, loopCall(false)
{
}
diff --git a/src/modules/m_spanningtree/main.h b/src/modules/m_spanningtree/main.h
index bc5b5d926..66c3f2214 100644
--- a/src/modules/m_spanningtree/main.h
+++ b/src/modules/m_spanningtree/main.h
@@ -117,7 +117,7 @@ class ModuleSpanningTree
dynamic_reference<DNS::Manager> DNS;
/** Event provider for message tags. */
- Events::ModuleEventProvider tagevprov;
+ ClientProtocol::MessageTagEvent tagevprov;
ServerCommandManager CmdManager;