]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/users.h
Merge pull request #569 from ShutterQuick/inspircd+asrootfix
[user/henk/code/inspircd.git] / include / users.h
index 941e576671811e3181034b96e143a8417b55847f..73ecba0ab51d47c7166fefc9bcccd3ef123aa161 100644 (file)
@@ -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
@@ -598,8 +602,8 @@ class CoreExport User : public Extensible
        void WriteCommonQuit(const std::string &normal_text, const std::string &oper_text);
 
        /** Dump text to a user target, splitting it appropriately to fit
-        * @param LinePrefix text to prefix each complete line with
-        * @param TextStream the text to send to the user
+        * @param linePrefix text to prefix each complete line with
+        * @param textStream the text to send to the user
         */
        void SendText(const std::string& linePrefix, std::stringstream& textStream);
 
@@ -818,7 +822,7 @@ class CoreExport LocalUser : public User, public InviteBase
        InviteList& GetInviteList();
 
        /** Returns true if a user is invited to a channel.
-        * @param channel A channel to look up
+        * @param chan A channel to look up
         * @return True if the user is invited to the given channel
         */
        bool IsInvited(Channel* chan) { return (Invitation::Find(chan, this) != NULL); }
@@ -826,7 +830,7 @@ class CoreExport LocalUser : public User, public InviteBase
        /** Removes a channel from a users invite list.
         * This member function is called on successfully joining an invite only channel
         * to which the user has previously been invited, to clear the invitation.
-        * @param channel The channel to remove the invite to
+        * @param chan The channel to remove the invite to
         * @return True if the user was invited to the channel and the invite was erased, false if the user wasn't invited
         */
        bool RemoveInvite(Channel* chan);
@@ -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;
+}