summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree/commands.h
diff options
context:
space:
mode:
authorPeter Powell <petpow@saberuk.com>2018-08-12 14:56:27 +0100
committerPeter Powell <petpow@saberuk.com>2018-08-12 15:01:45 +0100
commitba23c2b115ad3bf2632179d283165c1579332fd8 (patch)
tree992b199acb6e10e75ab18422147de1cf377a65b4 /src/modules/m_spanningtree/commands.h
parentf8a9b6ba4ae0b4b3c7b2a408332230dd82eb4608 (diff)
Convert AWAY to use cross-module events and clean up slightly.
OnSetAway has been replaced with four events. OnUserPreAway and OnUserPreBack can be used to deny an away state change and/or change the away message of a local user. OnUserAway and OnUserBack allow modules to be notified that a user's away state has changed.
Diffstat (limited to 'src/modules/m_spanningtree/commands.h')
-rw-r--r--src/modules/m_spanningtree/commands.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/modules/m_spanningtree/commands.h b/src/modules/m_spanningtree/commands.h
index b98512578..434528e46 100644
--- a/src/modules/m_spanningtree/commands.h
+++ b/src/modules/m_spanningtree/commands.h
@@ -22,6 +22,7 @@
#include "servercommand.h"
#include "commandbuilder.h"
#include "remoteuser.h"
+#include "modules/away.h"
namespace SpanningTree
{
@@ -241,15 +242,21 @@ class CommandResync : public ServerOnlyServerCommand<CommandResync>
class SpanningTree::CommandAway : public UserOnlyServerCommand<SpanningTree::CommandAway>
{
+ private:
+ Away::EventProvider awayevprov;
+
public:
- CommandAway(Module* Creator) : UserOnlyServerCommand<SpanningTree::CommandAway>(Creator, "AWAY", 0, 2) { }
+ CommandAway(Module* Creator)
+ : UserOnlyServerCommand<SpanningTree::CommandAway>(Creator, "AWAY", 0, 2)
+ , awayevprov(Creator)
+ {
+ }
CmdResult HandleRemote(::RemoteUser* user, Params& parameters);
class Builder : public CmdBuilder
{
public:
Builder(User* user);
- Builder(User* user, const std::string& msg);
};
};