]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/users.h
Replace hardcoded mode letters, part 3
[user/henk/code/inspircd.git] / include / users.h
index 941e576671811e3181034b96e143a8417b55847f..40ba173320a2070a84e4bb68df030c03184582d6 100644 (file)
@@ -400,19 +400,6 @@ class CoreExport User : public Extensible
         */
        void InvalidateCache();
 
-       /** Create a displayable mode string for this users snomasks
-        * @return The notice mask character sequence
-        */
-       std::string FormatNoticeMasks();
-
-       /** Process a snomask modifier string, e.g. +abc-de
-        * @param sm A sequence of notice mask characters
-        * @return The cleaned mode sequence which can be output,
-        * e.g. in the above example if masks c and e are not
-        * valid, this function will return +ab-d
-        */
-       std::string ProcessNoticeMasks(const char *sm);
-
        /** Returns whether this user is currently away or not. If true,
         * further information can be found in User::awaymsg and User::awaytime
         * @return True if the user is away, false otherwise
@@ -431,12 +418,6 @@ class CoreExport User : public Extensible
         */
        bool IsNoticeMaskSet(unsigned char sm);
 
-       /** Changed a specific notice mask value
-        * @param sm The server notice mask to change
-        * @param value An on/off value for this mask
-        */
-       void SetNoticeMask(unsigned char sm, bool value);
-
        /** Create a displayable mode string for this users umodes
         * @param showparameters The mode string
         */
@@ -447,12 +428,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); }
+       bool IsModeSet(UserModeReference& moderef);
 
        /** 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 +583,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);
 
@@ -746,7 +731,7 @@ class CoreExport LocalUser : public User, public InviteBase
 
        /** Call this method to find the matching \<connect> for a user, and to check them against it.
         */
-       void CheckClass();
+       void CheckClass(bool clone_count = true);
 
        /** Server address and port that this user is connected to.
         */
@@ -818,7 +803,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 +811,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 +886,21 @@ 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 bool User::IsModeSet(UserModeReference& moderef)
+{
+       if (!moderef)
+               return false;
+       return IsModeSet(*moderef);
+}
+
+inline void User::SetMode(ModeHandler* mh, bool value)
+{
+       char m = mh->GetModeChar();
+       modes[m-65] = value;
+}