X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fchannels.h;h=bf06e760a98ab0445771b87bd4044eec0af8a361;hb=63ee682557f9d63daeaa17788923223b58f83452;hp=693f429f4966f5814dcc91fe3a989d8b5b8b1759;hpb=1fe8085c6dbecc9558e61ea1829dbf3fcb41830e;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/channels.h b/include/channels.h index 693f429f4..bf06e760a 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,7 +134,7 @@ 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 @@ -142,7 +142,7 @@ class CoreExport Channel : public Extensible * for mode +A, index 0. Use modechar-65 to calculate which * field to check. */ - char modes[64]; + unsigned char modes[64]; /** 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,7 +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]; + std::string setby; /* 128 */ /** Contains the channel user limit. * If this value is zero, there is no limit in place. @@ -205,7 +205,7 @@ class CoreExport Channel : public Extensible /** Contains the channel key. * If this value is an empty string, there is no channel key in place. */ - char key[32]; + std::string key; /* 32 */ /** The list of all bans set on the channel. */ @@ -344,7 +344,7 @@ class CoreExport Channel : public Extensible * @return The number of users left on the channel. If this is zero * when the method returns, you MUST delete the Channel immediately! */ - long ServerKickUser(User* user, const char* reason, bool triggerevents); + long ServerKickUser(User* user, const char* reason, bool triggerevents, const char* servername = NULL); /** Part a user from this channel with the given reason. * If the reason field is NULL, no reason will be sent. @@ -528,6 +528,13 @@ class CoreExport Channel : public Extensible */ bool IsBanned(User* user); + /** Check whether an extban of a given type matches + * a given user for this channel. + * @param u The user to match bans against + * @param type The type of extban to check + */ + bool IsExtBanned(User *u, char type); + /** Clears the cached max bans value */ void ResetMaxBans();