コード例 #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 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;
}
コード例 #3
0
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;
}
コード例 #4
0
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;
}
コード例 #5
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;
}
コード例 #6
0
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;
}