X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fchannels.h;h=c273293102a1667006371f52afa6239295c4e3d8;hb=4c286655e1b930908fd02681ac00e172156e737c;hp=940b9b555b86263d1a9500bdc8f6d6930135315d;hpb=f78a6a90b194acfbabe61795470cabbdc36a32f4;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/channels.h b/include/channels.h index 940b9b555..c27329310 100644 --- a/include/channels.h +++ b/include/channels.h @@ -41,10 +41,10 @@ class HostItem : public classbase time_t set_time; /** Who added the item */ - char set_by[64]; + std::string set_by; /** The actual item data */ - char data[MAXBUF]; + std::string data; HostItem() { /* stub */ } virtual ~HostItem() { /* stub */ } @@ -134,15 +134,15 @@ class CoreExport Channel : public Extensible /** The channel's name. */ - char name[CHANMAX]; + std::string name; /* CHANMAX */ /** Modes for the channel. - * This is not a null terminated string! It is a hash where + * This is not a null terminated string! It is a bitset where * each item in it represents if a mode is set. For example * for mode +A, index 0. Use modechar-65 to calculate which * field to check. */ - char modes[64]; + std::bitset<64> modes; /** User lists. * There are four user lists, one for @@ -180,7 +180,7 @@ class CoreExport Channel : public Extensible /** Channel topic. * If this is an empty string, no channel topic is set. */ - char topic[MAXTOPIC]; + std::string topic; /* MAXTOPIC */ /** Creation time. * This is a timestamp (TS) value. @@ -195,17 +195,7 @@ class CoreExport Channel : public Extensible /** The last user to set the topic. * If this member is an empty string, no topic was ever set. */ - char setby[128]; - - /** Contains the channel user limit. - * If this value is zero, there is no limit in place. - */ - short int limit; - - /** Contains the channel key. - * If this value is an empty string, there is no channel key in place. - */ - char key[32]; + std::string setby; /* 128 */ /** The list of all bans set on the channel. */ @@ -349,11 +339,11 @@ class CoreExport Channel : public Extensible /** Part a user from this channel with the given reason. * If the reason field is NULL, no reason will be sent. * @param user The user who is parting (must be on this channel) - * @param reason The (optional) part reason + * @param reason The part reason * @return The number of users left on the channel. If this is zero * when the method returns, you MUST delete the Channel immediately! */ - long PartUser(User *user, const char* reason = NULL); + long PartUser(User *user, std::string &reason); /* Join a user to a channel. May be a channel that doesnt exist yet. * @param user The user to join to the channel. @@ -535,6 +525,10 @@ class CoreExport Channel : public Extensible */ bool IsExtBanned(User *u, char type); + /** Overloaded version to check whether a particular string is extbanned + */ + bool IsExtBanned(const std::string &str, char type); + /** Clears the cached max bans value */ void ResetMaxBans();