bool ICQClient::setMoreInfo(ICQUser *u) { if (m_state != Logged) return false; bool bChange = false; NPARAM(Age); NPARAM(Gender); NPARAM(BirthYear); NPARAM(BirthMonth); NPARAM(BirthDay); NPARAM(Language1); NPARAM(Language2); NPARAM(Language3); SPARAM(Homepage); if (!bChange) return false; serverRequest(ICQ_SRVxREQ_MORE); writeBuffer << ICQ_SRVxREQ_MODIFY_MORE << u->Age() << u->Gender() << s_Homepage << u->BirthYear() << u->BirthMonth() << u->BirthDay() << u->Language1() << u->Language2() << u->Language3(); sendServerRequest(); SetMoreInfo *e = new SetMoreInfo(m_nMsgSequence, u); varEvents.push_back(e); return true; }
bool ICQClient::setMailInfo(ICQUser *u) { if (m_state != Logged) return false; bool bChange = false; NPARAM(EMails); serverRequest(ICQ_SRVxREQ_MORE); writeBuffer << ICQ_SRVxREQ_MODIFY_BACKGROUND; char c = u->EMails.size(); c--; if (c < 0) c = 0; writeBuffer << c; bool bFirst = true; for (EMailList::iterator it = u->EMails.begin(); it != u->EMails.end(); ++it){ EMailInfo *info = static_cast<EMailInfo*>(*it); if (bFirst){ bFirst = false; continue; } string s; if (info->Email) s = info->Email; toServer(s); char hide = info->Hide ? 1 : 0; writeBuffer << hide << s; } sendServerRequest(); SetMailInfo *e = new SetMailInfo(m_nMsgSequence, u); varEvents.push_back(e); return true; }
bool ICQClientPrivate::setMainInfo(ICQUser *u) { if (m_state != Logged) return false; bool bChange = false; SPARAM(Nick); SPARAM(FirstName); SPARAM(LastName); SPARAM(EMail); SPARAM(City); SPARAM(State); SPARAM(HomePhone); SPARAM(HomeFax); SPARAM(Address); SPARAM(PrivateCellular); SPARAM(Zip); NPARAM(Country); NPARAM(TimeZone); NPARAM(HiddenEMail); // if (!bChange) return false; serverRequest(ICQ_SRVxREQ_MORE); sock->writeBuffer << ICQ_SRVxREQ_MODIFY_MAIN << s_Nick << s_FirstName << s_LastName << s_EMail << s_City << s_State << s_HomePhone << s_HomeFax << s_Address << s_PrivateCellular << s_Zip; sock->writeBuffer.pack(u->Country); sock->writeBuffer << u->TimeZone << u->HiddenEMail; sendServerRequest(); SetMainInfo *e = new SetMainInfo(m_nMsgSequence, u); varEvents.push_back(e); return true; }
bool ICQClient::setBackgroundInfo(ICQUser *u) { if (m_state != Logged) return false; bool bChange = false; NPARAM(Backgrounds); NPARAM(Affilations); if (!bChange) return false; serverRequest(ICQ_SRVxREQ_MORE); writeBuffer << ICQ_SRVxREQ_MODIFY_BACKGROUND; packInfoList(u->Backgrounds); packInfoList(u->Affilations); sendServerRequest(); SetBackgroundInfo *e = new SetBackgroundInfo(m_nMsgSequence, u); varEvents.push_back(e); return true; }
bool ICQClientPrivate::setWorkInfo(ICQUser *u) { if (m_state != Logged) return false; bool bChange = false; SPARAM(WorkCity); SPARAM(WorkState); SPARAM(WorkPhone); SPARAM(WorkFax); SPARAM(WorkAddress); SPARAM(WorkZip); NPARAM(WorkCountry); SPARAM(WorkName); SPARAM(WorkDepartment); SPARAM(WorkPosition); NPARAM(Occupation); SPARAM(WorkHomepage); // if (!bChange) return false; serverRequest(ICQ_SRVxREQ_MORE); sock->writeBuffer << ICQ_SRVxREQ_MODIFY_WORK << s_WorkCity << s_WorkState << s_WorkPhone << s_WorkFax << s_WorkAddress << s_WorkZip; sock->writeBuffer.pack(u->WorkCountry); sock->writeBuffer << s_WorkName << s_WorkDepartment << s_WorkPosition; sock->writeBuffer.pack(u->Occupation); sock->writeBuffer << s_WorkHomepage; sendServerRequest(); SetWorkInfo *e = new SetWorkInfo(m_nMsgSequence, u); varEvents.push_back(e); return true; }
bool ICQClient::setInterestsInfo(ICQUser *u) { if (m_state != Logged) return false; bool bChange = false; NPARAM(Interests); serverRequest(ICQ_SRVxREQ_MORE); writeBuffer << ICQ_SRVxREQ_MODIFY_INTERESTS; packInfoList(u->Interests); sendServerRequest(); SetInterestsInfo *e = new SetInterestsInfo(m_nMsgSequence, u); varEvents.push_back(e); return true; }