28 #include "membership.h"
30 #include "parammode.h"
45 typedef std::map<User*, insp::aligned_storage<Membership> >
MemberMap;
50 void SetDefaultModes();
56 std::bitset<ModeParser::MODEID_MAX> modes;
65 void DelUser(
const MemberMap::iterator& membiter);
73 Channel(
const std::string &name, time_t ts);
124 bool IsModeSet(
ModeHandler& mode) {
return IsModeSet(&mode); }
148 void SetTopic(
User* user,
const std::string& topic, time_t topicts,
const std::string* setter = NULL);
170 void DelUser(
User* user);
187 bool HasUser(
User* user);
196 void KickUser(
User* src,
const MemberMap::iterator& victimiter,
const std::string& reason);
205 MemberMap::iterator it = userlist.find(user);
206 if (it != userlist.end())
207 KickUser(src, it, reason);
216 bool PartUser(
User* user, std::string& reason);
227 static Channel* JoinUser(
LocalUser* user, std::string channame,
bool override =
false,
const std::string& key =
"");
236 Membership* ForceJoin(
User* user,
const std::string* privs = NULL,
bool bursting =
false,
bool created_by_local =
false);
258 const char* ChanModes(
bool showsecret);
271 unsigned int GetPrefixValue(
User* user);
277 bool IsBanned(
User* user);
281 bool CheckBan(
User* user,
const std::string& banmask);
291 void WriteNotice(
const std::string& text,
char status = 0);
292 void WriteRemoteNotice(
const std::string& text,
char status = 0);
312 pm->GetParameter(
this, out);
320 pm->GetParameter(
this, out);
const MemberMap & GetUsers() const
Definition: channels.h:181
Definition: clientprotocol.h:627
Definition: extensible.h:139
ParamModeBase * IsParameterMode()
Definition: mode.h:842
std::string name
Definition: channels.h:88
std::map< User *, insp::aligned_storage< Membership > > MemberMap
Definition: channels.h:45
std::string setby
Definition: channels.h:111
Definition: clientprotocol.h:464
std::string GetModeParameter(ModeHandler *mode)
Definition: channels.h:307
bool IsModeSet(ModeHandler *mode)
Definition: channels.h:123
bool HasUser(User *user)
Definition: channels.h:295
time_t topicset
Definition: channels.h:106
Definition: channels.h:40
std::string topic
Definition: channels.h:101
time_t age
Definition: channels.h:92
Definition: clientprotocol.h:181
Definition: parammode.h:23
void KickUser(User *src, User *user, const std::string &reason)
Definition: channels.h:203
Definition: membership.h:35
static const ModeHandler::Id MODEID_MAX
Definition: mode.h:560
MemberMap userlist
Definition: channels.h:96
size_t GetUserCounter() const
Definition: channels.h:155