X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fchannels.h;h=9c231008a3ce28cb8a9bfb079c1bc7120a5610af;hb=78c14ffcc5429f4855e2f3a6c822a1d37f9f591a;hp=0d4c4813c28e114d17275f6e1a4a7d5cf843e39f;hpb=0e4715e8e369414cdb140679b20f6e687fa6a853;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/channels.h b/include/channels.h index 0d4c4813c..9c231008a 100644 --- a/include/channels.h +++ b/include/channels.h @@ -137,12 +137,12 @@ class CoreExport Channel : public Extensible 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. */ - unsigned char modes[64]; + std::bitset<64> modes; /** User lists. * There are four user lists, one for @@ -197,16 +197,6 @@ class CoreExport Channel : public Extensible */ std::string 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. - */ - std::string key; /* 32 */ - /** The list of all bans set on the channel. */ BanList bans; @@ -242,6 +232,13 @@ class CoreExport Channel : public Extensible */ std::string GetModeParameter(char mode); + /** Sets the channel topic. + * @param u The user setting the topic + * @param t The topic to set it to. Non-const, as it may be modified by a hook. + * @param forceset If set to true then all access checks will be bypassed. + */ + int SetTopic(User *u, std::string &t, bool forceset = false); + /** Obtain the channel "user counter" * This returns the channel reference counter, which is initialized * to 0 when the channel is created and incremented/decremented