diff options
author | Peter Powell <petpow@saberuk.com> | 2017-10-20 06:24:19 +0100 |
---|---|---|
committer | Peter Powell <petpow@saberuk.com> | 2017-11-06 10:55:56 +0000 |
commit | 8281315255d30d7cad6da4936cf9276b7f58a4dc (patch) | |
tree | 4e2f6a1293c87037a69a9219154d4a5e05ad7dd1 /include/mode.h | |
parent | 257bf752fc6b87fa35bfa8cf95fc37730c3d55c6 (diff) |
Move depriv from m_customprefix into PrefixMode.
Diffstat (limited to 'include/mode.h')
-rw-r--r-- | include/mode.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/mode.h b/include/mode.h index 5cfbe4015..30b28a6b0 100644 --- a/include/mode.h +++ b/include/mode.h @@ -359,6 +359,9 @@ class CoreExport PrefixMode : public ModeHandler */ unsigned int prefixrank; + /** Whether a client with this prefix can remove it from themself. */ + bool selfremove; + public: /** * Constructor @@ -371,6 +374,16 @@ class CoreExport PrefixMode : public ModeHandler PrefixMode(Module* Creator, const std::string& Name, char ModeLetter, unsigned int Rank = 0, char PrefixChar = 0); /** + * Called when a channel mode change access check for your mode occurs. + * @param source Contains the user setting the mode. + * @param channel contains the destination channel the modes are being set on. + * @param parameter The parameter for your mode. This is modifiable. + * @param adding This value is true when the mode is being set, or false when it is being unset. + * @return allow, deny, or passthru to check against the required level + */ + ModResult AccessCheck(User* source, Channel* channel, std::string ¶meter, bool adding) CXX11_OVERRIDE; + + /** * Handles setting and unsetting the prefix mode. * Finds the given member of the given channel, if it's not found an error message is sent to 'source' * and MODEACTION_DENY is returned. Otherwise the mode change is attempted. @@ -392,6 +405,12 @@ class CoreExport PrefixMode : public ModeHandler */ void RemoveMode(Channel* channel, Modes::ChangeList& changelist); + + /** + * Determines whether a user with this prefix mode can remove it. + */ + bool CanSelfRemove() const { return selfremove; } + /** * Mode prefix or 0. If this is defined, you should * also implement GetPrefixRank() to return an integer |