X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fchannels.cpp;h=13595c4c323901709e42c1717a40d9bcfcac7655;hb=325beda3540fdd8f8e13f90866a372d07ec71620;hp=77b7f81db21281f835f104fce93bcfec68e1a230;hpb=854af2945eb6b9b62c19e3c823d3bcc8a84e52ae;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/channels.cpp b/src/channels.cpp index 77b7f81db..13595c4c3 100644 --- a/src/channels.cpp +++ b/src/channels.cpp @@ -25,8 +25,6 @@ #include "inspircd.h" #include "listmode.h" -#include -#include "mode.h" namespace { @@ -73,7 +71,7 @@ Membership* Channel::AddUser(User* user) void Channel::DelUser(User* user) { - UserMembIter it = userlist.find(user); + MemberMap::iterator it = userlist.find(user); if (it != userlist.end()) DelUser(it); } @@ -100,7 +98,7 @@ void Channel::CheckDestroy() ServerInstance->GlobalCulls.AddItem(this); } -void Channel::DelUser(const UserMembIter& membiter) +void Channel::DelUser(const MemberMap::iterator& membiter) { Membership* memb = membiter->second; memb->cull(); @@ -113,7 +111,7 @@ void Channel::DelUser(const UserMembIter& membiter) Membership* Channel::GetUser(User* user) { - UserMembIter i = userlist.find(user); + MemberMap::iterator i = userlist.find(user); if (i == userlist.end()) return NULL; return i->second; @@ -292,17 +290,17 @@ Channel* Channel::JoinUser(LocalUser* user, std::string cname, bool override, co return chan; } -void Channel::ForceJoin(User* user, const std::string* privs, bool bursting, bool created_by_local) +Membership* Channel::ForceJoin(User* user, const std::string* privs, bool bursting, bool created_by_local) { if (IS_SERVER(user)) { ServerInstance->Logs->Log("CHANNELS", LOG_DEBUG, "Attempted to join server user " + user->uuid + " to channel " + this->name); - return; + return NULL; } Membership* memb = this->AddUser(user); if (!memb) - return; // Already on the channel + return NULL; // Already on the channel user->chans.push_front(memb); @@ -350,6 +348,7 @@ void Channel::ForceJoin(User* user, const std::string* privs, bool bursting, boo } FOREACH_MOD(OnPostJoin, (memb)); + return memb; } bool Channel::IsBanned(User* user) @@ -427,7 +426,7 @@ ModResult Channel::GetExtBanStatus(User *user, char type) */ void Channel::PartUser(User *user, std::string &reason) { - UserMembIter membiter = userlist.find(user); + MemberMap::iterator membiter = userlist.find(user); if (membiter != userlist.end()) { @@ -444,7 +443,7 @@ void Channel::PartUser(User *user, std::string &reason) } } -void Channel::KickUser(User* src, const UserMembIter& victimiter, const std::string& reason) +void Channel::KickUser(User* src, const MemberMap::iterator& victimiter, const std::string& reason) { Membership* memb = victimiter->second; CUList except_list; @@ -468,7 +467,7 @@ void Channel::WriteChannel(User* user, const std::string &text) { const std::string message = ":" + user->GetFullHost() + " " + text; - for (UserMembIter i = userlist.begin(); i != userlist.end(); i++) + for (MemberMap::iterator i = userlist.begin(); i != userlist.end(); i++) { if (IS_LOCAL(i->first)) i->first->Write(message); @@ -486,7 +485,7 @@ void Channel::WriteChannelWithServ(const std::string& ServName, const std::strin { const std::string message = ":" + (ServName.empty() ? ServerInstance->Config->ServerName : ServName) + " " + text; - for (UserMembIter i = userlist.begin(); i != userlist.end(); i++) + for (MemberMap::iterator i = userlist.begin(); i != userlist.end(); i++) { if (IS_LOCAL(i->first)) i->first->Write(message); @@ -525,7 +524,7 @@ void Channel::RawWriteAllExcept(User* user, bool serversource, char status, CULi if (mh) minrank = mh->GetPrefixRank(); } - for (UserMembIter i = userlist.begin(); i != userlist.end(); i++) + for (MemberMap::iterator i = userlist.begin(); i != userlist.end(); i++) { if (IS_LOCAL(i->first) && (except_list.find(i->first) == except_list.end())) { @@ -595,7 +594,7 @@ void Channel::UserList(User* user, bool has_user) const size_t maxlen = ServerInstance->Config->Limits.MaxLine - 10 - ServerInstance->Config->ServerName.size(); std::string prefixlist; std::string nick; - for (UserMembIter i = userlist.begin(); i != userlist.end(); ++i) + for (MemberMap::iterator i = userlist.begin(); i != userlist.end(); ++i) { if ((!has_user) && (i->first->IsModeSet(invisiblemode)) && (!has_privs)) { @@ -692,7 +691,7 @@ const char* Membership::GetAllPrefixChars() const unsigned int Channel::GetPrefixValue(User* user) { - UserMembIter m = userlist.find(user); + MemberMap::iterator m = userlist.find(user); if (m == userlist.end()) return 0; return m->second->getRank();