summaryrefslogtreecommitdiff
path: root/protocols/ICQ-WIM/src/server.cpp
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2021-12-16 19:40:00 +0300
committerGeorge Hazan <ghazan@miranda.im>2021-12-16 19:40:00 +0300
commit5d8cbfabaf4e5b3422d9a18b81f053321e86fa61 (patch)
treebd0935d9599c959d025913ed1a8dac018fdb0a7a /protocols/ICQ-WIM/src/server.cpp
parentb69963685bf883c30cbec927c8fda393df136db8 (diff)
Fixes #2990 (ICQ: когда клиент собеседника уходит в оффлайн, в моей Миранде он по-прежнему онлайн до тех пор, пока я не переподключусь)
Diffstat (limited to 'protocols/ICQ-WIM/src/server.cpp')
-rw-r--r--protocols/ICQ-WIM/src/server.cpp32
1 files changed, 16 insertions, 16 deletions
diff --git a/protocols/ICQ-WIM/src/server.cpp b/protocols/ICQ-WIM/src/server.cpp
index e25272a0af..2b41b5aee7 100644
--- a/protocols/ICQ-WIM/src/server.cpp
+++ b/protocols/ICQ-WIM/src/server.cpp
@@ -282,7 +282,7 @@ void CIcqProto::MarkAsRead(MCONTACT hContact)
/////////////////////////////////////////////////////////////////////////////////////////
-MCONTACT CIcqProto::ParseBuddyInfo(const JSONNode &buddy, MCONTACT hContact)
+MCONTACT CIcqProto::ParseBuddyInfo(const JSONNode &buddy, MCONTACT hContact, bool bIsPartial)
{
// user chat?
CMStringW wszId(buddy["aimId"].as_mstring());
@@ -357,15 +357,15 @@ MCONTACT CIcqProto::ParseBuddyInfo(const JSONNode &buddy, MCONTACT hContact)
Contact_PutOnList(hContact);
}
- Json2string(hContact, buddy, "emailId", "Email");
- Json2string(hContact, buddy, "cellNumber", "Cellular");
- Json2string(hContact, buddy, "phoneNumber", "Phone");
- Json2string(hContact, buddy, "workNumber", "CompanyPhone");
+ Json2string(hContact, buddy, "emailId", "Email", bIsPartial);
+ Json2string(hContact, buddy, "cellNumber", "Cellular", bIsPartial);
+ Json2string(hContact, buddy, "phoneNumber", "Phone", bIsPartial);
+ Json2string(hContact, buddy, "workNumber", "CompanyPhone", bIsPartial);
- Json2int(hContact, buddy, "official", "Official");
- Json2int(hContact, buddy, "onlineTime", DB_KEY_ONLINETS);
- Json2int(hContact, buddy, "idleTime", "IdleTS");
- Json2int(hContact, buddy, "memberSince", DB_KEY_MEMBERSINCE);
+ Json2int(hContact, buddy, "official", "Official", bIsPartial);
+ Json2int(hContact, buddy, "onlineTime", DB_KEY_ONLINETS, bIsPartial);
+ Json2int(hContact, buddy, "idleTime", "IdleTS", bIsPartial);
+ Json2int(hContact, buddy, "memberSince", DB_KEY_MEMBERSINCE, bIsPartial);
int iStatus = StatusFromPresence(buddy, hContact);
if (iStatus > 0)
@@ -373,10 +373,10 @@ MCONTACT CIcqProto::ParseBuddyInfo(const JSONNode &buddy, MCONTACT hContact)
const JSONNode &profile = buddy["profile"];
if (profile) {
- Json2string(hContact, profile, "friendlyName", DB_KEY_ICQNICK);
- Json2string(hContact, profile, "firstName", "FirstName");
- Json2string(hContact, profile, "lastName", "LastName");
- Json2string(hContact, profile, "aboutMe", DB_KEY_ABOUT);
+ Json2string(hContact, profile, "friendlyName", DB_KEY_ICQNICK, bIsPartial);
+ Json2string(hContact, profile, "firstName", "FirstName", bIsPartial);
+ Json2string(hContact, profile, "lastName", "LastName", bIsPartial);
+ Json2string(hContact, profile, "aboutMe", DB_KEY_ABOUT, bIsPartial);
ptrW wszNick(getWStringA(hContact, "Nick"));
if (!wszNick) {
@@ -404,9 +404,9 @@ MCONTACT CIcqProto::ParseBuddyInfo(const JSONNode &buddy, MCONTACT hContact)
}
for (auto &it : profile["homeAddress"]) {
- Json2string(hContact, it, "city", "City");
- Json2string(hContact, it, "state", "State");
- Json2string(hContact, it, "country", "Country");
+ Json2string(hContact, it, "city", "City", bIsPartial);
+ Json2string(hContact, it, "state", "State", bIsPartial);
+ Json2string(hContact, it, "country", "Country", bIsPartial);
}
}