From dbc48cc0ec4df774c257d5175d62bce16e2437e3 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sat, 9 Dec 2023 20:00:47 +0300 Subject: PROTO_INTERFACE::OnContactDeleted to be able to block the contact's deletion --- protocols/VKontakte/src/vk_proto.cpp | 9 +++++---- protocols/VKontakte/src/vk_proto.h | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) (limited to 'protocols/VKontakte/src') diff --git a/protocols/VKontakte/src/vk_proto.cpp b/protocols/VKontakte/src/vk_proto.cpp index 924062555f..ca6df00340 100644 --- a/protocols/VKontakte/src/vk_proto.cpp +++ b/protocols/VKontakte/src/vk_proto.cpp @@ -745,17 +745,17 @@ int CVkProto::GetInfo(MCONTACT hContact, int) return 0; } -void CVkProto::OnContactDeleted(MCONTACT hContact) +bool CVkProto::OnContactDeleted(MCONTACT hContact) { ptrW pwszNick(db_get_wsa(hContact, m_szModuleName, "Nick")); debugLogW(L"CVkProto::OnContactDeleted %s", pwszNick.get()); if (!Contact::OnList(hContact) || getBool(hContact, "SilentDelete") || isChatRoom((MCONTACT)hContact)) - return; + return true; VKUserID_t iUserId = ReadVKUserID(hContact); if (iUserId == VK_INVALID_USER || iUserId == VK_FEED_USER) - return; + return true; CONTACTDELETE_FORM_PARAMS *param = new CONTACTDELETE_FORM_PARAMS(pwszNick, true, !getBool(hContact, "Auth", true), true); CVkContactDeleteForm dlg(this, param); @@ -763,7 +763,7 @@ void CVkProto::OnContactDeleted(MCONTACT hContact) debugLogW(L"CVkProto::OnContactDeleted %s DeleteDialog=%d DeleteFromFriendlist=%d", pwszNick.get(), param->bDeleteDialog, param->bDeleteFromFriendlist); if (!(param->bDeleteDialog || param->bDeleteFromFriendlist)) - return; + return true; CMStringA code(FORMAT, "var userID=\"%d\";", iUserId); @@ -777,4 +777,5 @@ void CVkProto::OnContactDeleted(MCONTACT hContact) Push(new AsyncHttpRequest(this, REQUEST_GET, "/method/execute.json", true, &CVkProto::OnReceiveSmth) << CHAR_PARAM("code", code.c_str())); + return true; } \ No newline at end of file diff --git a/protocols/VKontakte/src/vk_proto.h b/protocols/VKontakte/src/vk_proto.h index ca061083c6..bc07b1dbc2 100644 --- a/protocols/VKontakte/src/vk_proto.h +++ b/protocols/VKontakte/src/vk_proto.h @@ -73,7 +73,7 @@ struct CVkProto : public PROTO int UserIsTyping(MCONTACT hContact, int type) override; void OnBuildProtoMenu() override; - void OnContactDeleted(MCONTACT) override; + bool OnContactDeleted(MCONTACT) override; MWindow OnCreateAccMgrUI(MWindow) override; void OnMarkRead(MCONTACT, MEVENT) override; void OnModulesLoaded() override; -- cgit v1.2.3