/** A list of users on a channel
*/
-typedef std::map<userrec*,userrec*> CUList;
+typedef std::map<userrec*,std::string> CUList;
/** Shorthand for CUList::iterator
*/
/** used to hold a channel and a users modes on that channel, e.g. +v, +h, +o
*/
enum UserChannelModes {
- UCMODE_OP = 1,
- UCMODE_VOICE = 2,
- UCMODE_HOP = 4
+ UCMODE_OP = 1,
+ UCMODE_VOICE = 2,
+ UCMODE_HOP = 4
};
class InspIRCd;
* This class represents a channel, and contains its name, modes, time created, topic, topic set time,
* etc, and an instance of the BanList type.
*/
-class chanrec : public Extensible
+class CoreExport chanrec : public Extensible
{
private:
*/
void AddVoicedUser(userrec* user);
- /** Delete a user pointer to the internal reference list
+ /** Delete a user pointer to the internal reference list
* @param user The user to delete
* @return number of users left on the channel after deletion of the user
- */
+ */
unsigned long DelUser(userrec* user);
/** Delete a user pointer to the internal reference list of opped users
/** Write to all users on a channel except a list of users, using va_args for text
* @param user User whos details to prefix the line with, and to omit from receipt of the message
* @param serversource If this parameter is true, use the local server name as the source of the text, otherwise,
- * use the nick!user@host of the user.
+ * use the nick!user@host of the user.
* @param status The status of the users to write to, e.g. '@' or '%'. Use a value of 0 to write to everyone
* @param except_list A list of users NOT to send the text to
* @param text A printf-style format string which builds the output line without prefix
* Internally, this calls WriteAllExcept().
* @param user User whos details to prefix the line with, and to omit from receipt of the message
* @param serversource If this parameter is true, use the local server name as the source of the text, otherwise,
- * use the nick!user@host of the user.
+ * use the nick!user@host of the user.
* @param status The status of the users to write to, e.g. '@' or '%'. Use a value of 0 to write to everyone
* @param text A std::string containing the output line without prefix
*/
/** Write to all users on a channel except a list of users, using std::string for text
* @param user User whos details to prefix the line with, and to omit from receipt of the message
* @param serversource If this parameter is true, use the local server name as the source of the text, otherwise,
- * use the nick!user@host of the user.
+ * use the nick!user@host of the user.
* @param status The status of the users to write to, e.g. '@' or '%'. Use a value of 0 to write to everyone
* @param except_list A list of users NOT to send the text to
* @param text A std::string containing the output line without prefix
/** Spool the NAMES list for this channel to the given user
* @param user The user to spool the NAMES list to
+ * @param ulist The user list to send, NULL to use the
+ * channel's default names list of everyone
*/
- void UserList(userrec *user);
+ void UserList(userrec *user, CUList* ulist = NULL);
/** Get the number of invisible users on this channel
* @return Number of invisible users