summaryrefslogtreecommitdiff
path: root/src/mode.cpp
diff options
context:
space:
mode:
authorGravatar brain2006-07-26 21:54:36 +0000
committerGravatar brain2006-07-26 21:54:36 +0000
commitf4d202cdbbcaa9e17c21e3f74d7816f58b2ffc6a (patch)
tree82709f66aa42e3ffcd96cd261a368d66f65a186c /src/mode.cpp
parentFix reiterpret_cast stuff that doesnt work right (diff)
Add extra method to mode handler, ModeHandler::ModeSet().
Returns a std::pair<bool,string>. if the bool is true, the mode is set, and the second item in the pair is the parameter set on it, if any If the bool is false, the mode is not set, and the parameter given is returned as the second item of the pair To be used in mode bouncing, to build a safe set of bounced modes (dont ask yet) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4549 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/mode.cpp')
-rw-r--r--src/mode.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/mode.cpp b/src/mode.cpp
index 86b0024c0..56d1f398f 100644
--- a/src/mode.cpp
+++ b/src/mode.cpp
@@ -113,6 +113,18 @@ ModeAction ModeHandler::OnModeChange(userrec* source, userrec* dest, chanrec* ch
return MODEACTION_DENY;
}
+std::pair<bool,std::string> ModeHandler::ModeSet(userrec* source, userrec* dest, chanrec* channel, const std::string &parameter)
+{
+ if (dest)
+ {
+ return std::make_pair(dest->IsModeSet(this->mode), "");
+ }
+ else
+ {
+ return std::make_pair(channel->IsModeSet(this->mode), "");
+ }
+}
+
void ModeHandler::DisplayList(userrec* user, chanrec* channel)
{
}