summaryrefslogtreecommitdiff
path: root/protocols
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2024-01-31 19:38:52 +0300
committerGeorge Hazan <george.hazan@gmail.com>2024-01-31 19:38:52 +0300
commitcde9a132ca3c62d8f5d9692a93d6d59499ac455e (patch)
tree350fe67efd6483bb1aa1966063789928d26fc061 /protocols
parenta5b576429205ffa3c9397614ea31363b31944e79 (diff)
ICQ: support for Delete for everyone mode
Diffstat (limited to 'protocols')
-rw-r--r--protocols/ICQ-WIM/src/proto.cpp7
-rw-r--r--protocols/ICQ-WIM/src/proto.h2
2 files changed, 5 insertions, 4 deletions
diff --git a/protocols/ICQ-WIM/src/proto.cpp b/protocols/ICQ-WIM/src/proto.cpp
index 2dd9d96610..9978c83ed6 100644
--- a/protocols/ICQ-WIM/src/proto.cpp
+++ b/protocols/ICQ-WIM/src/proto.cpp
@@ -221,7 +221,7 @@ void CIcqProto::BatchDeleteMsg()
mir_free(it);
}
- pReq->params << WCHAR_PARAM("sn", GetUserId(m_hDeleteContact)) << BOOL_PARAM("shared", true) << ids;
+ pReq->params << WCHAR_PARAM("sn", GetUserId(m_hDeleteContact)) << BOOL_PARAM("silent", true) << BOOL_PARAM("shared", m_bRemoveForAll) << ids;
Push(pReq);
m_arDeleteQueue.destroy();
@@ -243,6 +243,7 @@ void CIcqProto::OnEventDeleted(MCONTACT hContact, MEVENT hEvent, int flags)
mir_cslock lck(m_csDeleteQueue);
m_hDeleteContact = hContact;
+ m_bRemoveForAll = (flags & CDF_FOR_EVERYONE) != 0;
m_arDeleteQueue.insert(mir_strdup(dbei.szId));
m_impl.m_delete.Start(100);
}
@@ -514,8 +515,8 @@ INT_PTR CIcqProto::GetCaps(int type, MCONTACT)
return PF2_SHORTAWAY | PF2_LONGAWAY | PF2_LIGHTDND | PF2_HEAVYDND;
case PFLAGNUM_4:
- nReturn = PF4_FORCEAUTH | PF4_SUPPORTIDLE | PF4_OFFLINEFILES | PF4_IMSENDOFFLINE | PF4_SUPPORTTYPING |
- PF4_AVATARS | PF4_SERVERMSGID | PF4_READNOTIFY | PF4_REPLY;
+ nReturn = PF4_FORCEAUTH | PF4_SUPPORTIDLE | PF4_OFFLINEFILES | PF4_IMSENDOFFLINE | PF4_SUPPORTTYPING |
+ PF4_AVATARS | PF4_SERVERMSGID | PF4_READNOTIFY | PF4_REPLY | PF4_DELETEFORALL;
break;
case PFLAG_UNIQUEIDTEXT:
diff --git a/protocols/ICQ-WIM/src/proto.h b/protocols/ICQ-WIM/src/proto.h
index b7f05974ae..f4f3e8f8d7 100644
--- a/protocols/ICQ-WIM/src/proto.h
+++ b/protocols/ICQ-WIM/src/proto.h
@@ -212,7 +212,7 @@ class CIcqProto : public PROTO<CIcqProto>
friend AsyncHttpRequest* operator <<(AsyncHttpRequest*, const AIMSID&);
- bool m_bOnline, m_bTerminated, m_bFirstBos, m_isMra, m_bError462, m_bInvisible;
+ bool m_bOnline, m_bTerminated, m_bFirstBos, m_isMra, m_bError462, m_bInvisible, m_bRemoveForAll;
int m_iTimeShift;
MCONTACT CheckOwnMessage(const CMStringA &reqId, const CMStringA &msgId, bool bRemove);