- for (std::map<User*,bool>::iterator i = exceptions.begin(); i != exceptions.end(); ++i)
- {
- LocalUser* u = IS_LOCAL(i->first);
- if (u && !u->quitting)
- {
- u->already_sent = uniq_id;
- if (i->second)
- u->Write(u->IsOper() ? operMessage : normalMessage);
- }
- }
- for (IncludeChanList::const_iterator v = include_c.begin(); v != include_c.end(); ++v)
- {
- const Channel::MemberMap& ulist = (*v)->chan->GetUsers();
- for (Channel::MemberMap::const_iterator i = ulist.begin(); i != ulist.end(); i++)
- {
- LocalUser* u = IS_LOCAL(i->first);
- if (u && (u->already_sent != uniq_id))
- {
- u->already_sent = uniq_id;
- u->Write(u->IsOper() ? operMessage : normalMessage);
- }
- }
- }
+void User::WriteCommonRaw(const std::string &line, bool include_self)
+{
+ WriteCommonRawHandler handler(line);
+ ForEachNeighbor(handler, include_self);