/** Create a displayable mode string for this users snomasks
* @return The notice mask character sequence
*/
- const char* FormatNoticeMasks();
+ std::string FormatNoticeMasks();
/** Process a snomask modifier string, e.g. +abc-de
* @param sm A sequence of notice mask characters
* @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
*/
virtual bool HasModePermission(unsigned char mode, ModeType type);
- /** Creates a wildcard host.
- * Takes a buffer to use and fills the given buffer with the host in the format *!*\@hostname
- * @return The wildcarded hostname in *!*\@host form
- */
- char* MakeWildHost();
-
/** Creates a usermask with real host.
* Takes a buffer to use and fills the given buffer with the hostmask in the format user\@host
* @return the usermask in the format user\@host
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);
+ void SendText(const std::string& linePrefix, std::stringstream& textStream);
/** Write to the user, routing the line if the user is remote.
*/
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); }
/** 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);
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;
+}