void ICQClient::deleteUser(ICQUser *u) { if (u->IgnoreId) setInIgnore(u, false); if (u->InvisibleId) setInInvisible(u, false); if (u->VisibleId) setInVisible(u, false); if ((u->GrpId == 0) || (u->Uin >= UIN_SPECIAL)){ contacts.users.remove(u); ICQEvent e(EVENT_USER_DELETED, u->Uin); process_event(&e); return; } p->deleteUser(u); }
void ICQClient::deleteUser(ICQUser *u) { if (u->inIgnore()) setInIgnore(u, false); if (u->inInvisible()) setInInvisible(u, false); if (u->inVisible()) setInVisible(u, false); if ((u->GrpId() == 0) || (u->Uin() >= UIN_SPECIAL)){ contacts.users.remove(u); ICQEvent e(EVENT_USER_DELETED, u->Uin); process_event(&e); return; } if (m_state != Logged) return; DeleteUserEvent *e = new DeleteUserEvent(u->Uin()); sendRoster(e, ICQ_SNACxLISTS_DELETE, u->Uin, u->GrpId(), u->Id(), 0, u->Alias.c_str(), u->WaitAuth()); }