예제 #1
0
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;
}
예제 #2
0
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;
}
예제 #3
0
bool ICQClient::setAboutInfo(ICQUser *u)
{
    if (m_state != Logged) return false;

    bool bChange = false;
    SPARAM(About);
    if (!bChange) return false;

    serverRequest(ICQ_SRVxREQ_MORE);
    writeBuffer << ICQ_SRVxREQ_MODIFY_ABOUT
    << s_About;
    sendServerRequest();
    SetAboutInfo *e = new SetAboutInfo(m_nMsgSequence, u);
    varEvents.push_back(e);
    return true;
}
예제 #4
0
bool ICQClient::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);
    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
    << (unsigned short)htons(u->Country())
    << u->TimeZone()
    << u->HiddenEMail();
    sendServerRequest();

    SetMainInfo *e = new SetMainInfo(m_nMsgSequence, u);
    varEvents.push_back(e);
    return true;
}