From f1e6512f2f24a9cde4beed2462a97aceca82832a Mon Sep 17 00:00:00 2001 From: ElzorFox Date: Tue, 21 Jun 2022 09:23:37 +0500 Subject: VKontakte: GetAwayMsg implementation --- protocols/VKontakte/src/vk_proto.h | 2 ++ protocols/VKontakte/src/vk_status.cpp | 17 ++++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) (limited to 'protocols') diff --git a/protocols/VKontakte/src/vk_proto.h b/protocols/VKontakte/src/vk_proto.h index 707db3f405..f5bf492d6c 100644 --- a/protocols/VKontakte/src/vk_proto.h +++ b/protocols/VKontakte/src/vk_proto.h @@ -58,6 +58,7 @@ struct CVkProto : public PROTO int AuthRequest(MCONTACT hContact, const wchar_t *szMessage) override; INT_PTR GetCaps(int type, MCONTACT hContact = 0) override; int GetInfo(MCONTACT hContact, int infoType) override; + HANDLE GetAwayMsg(MCONTACT hContact) override; HANDLE SearchBasic(const wchar_t *id) override; HANDLE SearchByEmail(const wchar_t *email) override; HANDLE SearchByName(const wchar_t *nick, const wchar_t *firstName, const wchar_t *lastName) override; @@ -413,6 +414,7 @@ private: void SetChatStatus(MCONTACT hContact, int iStatus); CVkChatInfo* GetChatById(LPCWSTR pwszId); INT_PTR __cdecl SvcCreateChat(WPARAM, LPARAM); + void __cdecl GetAwayMsgThread(void* p); }; struct CMPlugin : public ACCPROTOPLUGIN diff --git a/protocols/VKontakte/src/vk_status.cpp b/protocols/VKontakte/src/vk_status.cpp index f759aff825..34d41bc55a 100644 --- a/protocols/VKontakte/src/vk_status.cpp +++ b/protocols/VKontakte/src/vk_status.cpp @@ -230,4 +230,19 @@ INT_PTR __cdecl CVkProto::SvcSetListeningTo(WPARAM, LPARAM lParam) } RetrieveStatusMusic(wszListeningTo); return 0; -} \ No newline at end of file +} + +HANDLE CVkProto::GetAwayMsg(MCONTACT hContact) +{ + ForkThread(&CVkProto::GetAwayMsgThread, (void *)hContact); + return (HANDLE)1; +} + +void CVkProto::GetAwayMsgThread(void* p) +{ + Sleep(100); + + MCONTACT hContact = (DWORD_PTR)p; + ptrW wszStatus(db_get_wsa(hContact, "CList", "StatusMsg")); + ProtoBroadcastAck(hContact, ACKTYPE_AWAYMSG, ACKRESULT_SUCCESS, (HANDLE)1, wszStatus); +} -- cgit v1.2.3