]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_delaymsg.cpp
Improvements and bugfixes to the cgiirc module.
[user/henk/code/inspircd.git] / src / modules / m_delaymsg.cpp
index 1ad41cc57f23395199da3d5efe184b4ba5aca30f..b39fb1d0a07a3cc58d03304d9872c5ab7fa10708 100644 (file)
@@ -27,15 +27,15 @@ class DelayMsgMode : public ParamMode<DelayMsgMode, LocalIntExt>
                : ParamMode<DelayMsgMode, LocalIntExt>(Parent, "delaymsg", 'd')
                , jointime("delaymsg", ExtensionItem::EXT_MEMBERSHIP, Parent)
        {
-               levelrequired = OP_VALUE;
+               ranktoset = ranktounset = OP_VALUE;
        }
 
-       bool ResolveModeConflict(std::string &their_param, const std::string &our_param, Channel*)
+       bool ResolveModeConflict(std::string& their_param, const std::string& our_param, Channel*) CXX11_OVERRIDE
        {
                return (atoi(their_param.c_str()) < atoi(our_param.c_str()));
        }
 
-       ModeAction OnSet(User* source, Channel* chan, std::string& parameter);
+       ModeAction OnSet(User* source, Channel* chan, std::string& parameter) CXX11_OVERRIDE;
        void OnUnset(User* source, Channel* chan);
 
        void SerializeParam(Channel* chan, int n, std::string& out)
@@ -55,7 +55,7 @@ class ModuleDelayMsg : public Module
 
        Version GetVersion() CXX11_OVERRIDE;
        void OnUserJoin(Membership* memb, bool sync, bool created, CUList&) CXX11_OVERRIDE;
-       ModResult OnUserPreMessage(User* user, void* dest, int target_type, std::string& text, char status, CUList& exempt_list, MessageType msgtype) CXX11_OVERRIDE;
+       ModResult OnUserPreMessage(User* user, const MessageTarget& target, MessageDetails& details) CXX11_OVERRIDE;
        void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE;
 };
 
@@ -93,15 +93,15 @@ void ModuleDelayMsg::OnUserJoin(Membership* memb, bool sync, bool created, CULis
        }
 }
 
-ModResult ModuleDelayMsg::OnUserPreMessage(User* user, void* dest, int target_type, std::string& text, char status, CUList& exempt_list, MessageType msgtype)
+ModResult ModuleDelayMsg::OnUserPreMessage(User* user, const MessageTarget& target, MessageDetails& details)
 {
        if (!IS_LOCAL(user))
                return MOD_RES_PASSTHRU;
 
-       if ((target_type != TYPE_CHANNEL) || ((!allownotice) && (msgtype == MSG_NOTICE)))
+       if ((target.type != MessageTarget::TYPE_CHANNEL) || ((!allownotice) && (details.type == MSG_NOTICE)))
                return MOD_RES_PASSTHRU;
 
-       Channel* channel = (Channel*) dest;
+       Channel* channel = target.Get<Channel>();
        Membership* memb = channel->GetUser(user);
 
        if (!memb)