diff options
author | Peter Powell <petpow@saberuk.com> | 2018-08-12 14:56:27 +0100 |
---|---|---|
committer | Peter Powell <petpow@saberuk.com> | 2018-08-12 15:01:45 +0100 |
commit | ba23c2b115ad3bf2632179d283165c1579332fd8 (patch) | |
tree | 992b199acb6e10e75ab18422147de1cf377a65b4 /src/modules/m_spanningtree/commands.h | |
parent | f8a9b6ba4ae0b4b3c7b2a408332230dd82eb4608 (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.h | 11 |
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); }; }; |