From 4fcb371bc8813cd647b7769a64d586e3a57d684d Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 19 Aug 2011 04:18:13 -0400 Subject: Track what "level" channel status modes are, which allows us to have chanserv/mode determine if a status mode can be set by users better --- include/modes.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/modes.h b/include/modes.h index 20d4378bc..2fce7e9f7 100644 --- a/include/modes.h +++ b/include/modes.h @@ -276,13 +276,18 @@ class CoreExport ChannelModeStatus : public ChannelMode public: /* The symbol, eg @ % + */ char Symbol; + /* The "level" of the mode, used to compare with other modes. + * Used so we know op > halfop > voice etc. + */ + unsigned short Level; /** Default constructor * @param mName The mode name * @param modeChar The mode char - * @param mSymbol The symbol for the mode, eg @ % + + * @param mSymbol The symbol for the mode, eg @ % + * @param mLevel A level for the mode, which is usually determined by the PREFIX capab */ - ChannelModeStatus(ChannelModeName mName, char modeChar, char mSymbol); + ChannelModeStatus(ChannelModeName mName, char modeChar, char mSymbol, unsigned short mLevel = 0); /** Default destructor */ -- cgit