X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fchannels.h;h=bf06e760a98ab0445771b87bd4044eec0af8a361;hb=b3e3b1f14e12b4b0a395ef8e2a4848f132e2c22b;hp=7ef73bb10c2a2384bab9f392471ecec5893853bb;hpb=1f9ef4081211739c7c04211a9d77549d25c09f7a;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/channels.h b/include/channels.h index 7ef73bb10..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. @@ -491,12 +491,6 @@ class CoreExport Channel : public Extensible */ const char* GetAllPrefixChars(User* user); - /** Returns all of the prefix MODES a user has on channel. - * @param user The user to look up - * @return A list of all prefix modes. - */ - const char *GetAllPrefixModes(User *user); - /** Get the value of a users prefix on this channel. * @param user The user to look up * @return The module or core-defined value of the users prefix. @@ -534,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();