summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorattilamolnar <attilamolnar@hush.com>2013-04-11 23:47:45 +0200
committerattilamolnar <attilamolnar@hush.com>2013-07-01 19:21:08 +0200
commitf2cdf27dd9c45f91f4184b81ea3b9be7c5d88173 (patch)
tree2af494a7cf74fc8731e6cae695ae37a2267b6d5e /include
parent93b12896dab1692800c4b6d2d9f35e1a23102028 (diff)
Replace hardcoded mode letters passed to IsModeSet() and GetModeParameter() with ModeHandlers, part 1
Diffstat (limited to 'include')
-rw-r--r--include/channels.h3
-rw-r--r--include/users.h15
2 files changed, 16 insertions, 2 deletions
diff --git a/include/channels.h b/include/channels.h
index b4977eef1..4fb3e48dc 100644
--- a/include/channels.h
+++ b/include/channels.h
@@ -110,7 +110,6 @@ class CoreExport Channel : public Extensible, public InviteBase
* @param value True if you want to set the mode or false if you want to remove it
*/
void SetMode(ModeHandler* mode, bool value);
- void SetMode(char mode,bool mode_on);
/** Sets or unsets a custom mode in the channels info
* @param mode The mode character to set or unset
@@ -126,7 +125,7 @@ class CoreExport Channel : public Extensible, public InviteBase
*/
inline bool IsModeSet(char mode) { return modes[mode-'A']; }
inline bool IsModeSet(ModeHandler* mode) { return modes[mode->GetModeChar()-'A']; }
-
+ bool IsModeSet(ModeHandler& mode) { return IsModeSet(&mode); }
/** Returns the parameter for a custom mode on a channel.
* @param mode The mode character you wish to query
diff --git a/include/users.h b/include/users.h
index 218ec4ae0..73ecba0ab 100644
--- a/include/users.h
+++ b/include/users.h
@@ -447,12 +447,16 @@ class CoreExport User : public Extensible
* @return True if the mode is set
*/
bool IsModeSet(unsigned char m);
+ bool IsModeSet(ModeHandler* mh);
+ bool IsModeSet(ModeHandler& mh) { return IsModeSet(&mh); }
/** Set a specific usermode to on or off
* @param m The user mode
* @param value On or off setting of the mode
*/
void SetMode(unsigned char m, bool value);
+ void SetMode(ModeHandler* mh, bool value);
+ void SetMode(ModeHandler& mh, bool value) { SetMode(&mh, value); }
/** Returns true or false for if a user can execute a privilaged oper command.
* This is done by looking up their oper type from User::oper, then referencing
@@ -901,3 +905,14 @@ inline FakeUser* IS_SERVER(User* u)
return u->usertype == USERTYPE_SERVER ? static_cast<FakeUser*>(u) : NULL;
}
+inline bool User::IsModeSet(ModeHandler* mh)
+{
+ char m = mh->GetModeChar();
+ return (modes[m-65]);
+}
+
+inline void User::SetMode(ModeHandler* mh, bool value)
+{
+ char m = mh->GetModeChar();
+ modes[m-65] = value;
+}