diff options
author | George Hazan <ghazan@miranda.im> | 2019-10-06 19:12:14 +0300 |
---|---|---|
committer | George Hazan <ghazan@miranda.im> | 2019-10-06 19:12:14 +0300 |
commit | 9cd5d7e425fd66c9e5f4805f994adcff75858ae8 (patch) | |
tree | 23cf58a047db5b2a3af829206fd933a94f22bb71 /protocols/WhatsAppWeb/src/avatars.cpp | |
parent | fc98d12131682de5aa3329283ae519d33e8fd439 (diff) |
WhatsAppWeb: first version restored from deprecated
Diffstat (limited to 'protocols/WhatsAppWeb/src/avatars.cpp')
-rw-r--r-- | protocols/WhatsAppWeb/src/avatars.cpp | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/protocols/WhatsAppWeb/src/avatars.cpp b/protocols/WhatsAppWeb/src/avatars.cpp new file mode 100644 index 0000000000..cacd251639 --- /dev/null +++ b/protocols/WhatsAppWeb/src/avatars.cpp @@ -0,0 +1,74 @@ +#include "stdafx.h" + +INT_PTR WhatsAppProto::GetAvatarInfo(WPARAM wParam, LPARAM lParam) +{ + PROTO_AVATAR_INFORMATION *pai = (PROTO_AVATAR_INFORMATION*)lParam; + + ptrA id(getStringA(pai->hContact, isChatRoom(pai->hContact) ? "ChatRoomID" : WHATSAPP_KEY_ID)); + if (id == NULL) + return GAIR_NOAVATAR; + + CMStringW tszFileName(GetAvatarFileName(pai->hContact)); + wcsncpy_s(pai->filename, tszFileName.c_str(), _TRUNCATE); + pai->format = PA_FORMAT_JPEG; + + ptrA szAvatarId(getStringA(pai->hContact, WHATSAPP_KEY_AVATAR_ID)); + if (szAvatarId == NULL || (wParam & GAIF_FORCE) != 0) + if (pai->hContact != NULL && isOnline()) { + // m_pConnection->sendGetPicture(id, "image"); + return GAIR_WAITFOR; + } + + debugLogA("No avatar"); + return GAIR_NOAVATAR; +} + +INT_PTR WhatsAppProto::GetAvatarCaps(WPARAM wParam, LPARAM lParam) +{ + switch (wParam) { + case AF_PROPORTION: + return PIP_SQUARE; + + case AF_FORMATSUPPORTED: // Jabber supports avatars of virtually all formats + return PA_FORMAT_JPEG; + + case AF_ENABLED: + return TRUE; + + case AF_MAXSIZE: + POINT *size = (POINT*)lParam; + if (size) + size->x = size->y = 640; + return 0; + } + return -1; +} + +CMStringW WhatsAppProto::GetAvatarFileName(MCONTACT hContact) +{ + CMStringW result = m_tszAvatarFolder + L"\\"; + + CMStringA jid; + if (hContact != NULL) { + ptrA szId(getStringA(hContact, isChatRoom(hContact) ? "ChatRoomID" : WHATSAPP_KEY_ID)); + if (szId == NULL) + return L""; + + jid = szId; + } + else jid = m_szJid; + + return result + _A2T(jid.c_str()) + L".jpg"; +} + +INT_PTR WhatsAppProto::GetMyAvatar(WPARAM wParam, LPARAM lParam) +{ + std::wstring tszOwnAvatar(m_tszAvatarFolder + L"\\myavatar.jpg"); + wcsncpy_s((wchar_t*)wParam, lParam, tszOwnAvatar.c_str(), _TRUNCATE); + return 0; +} + +INT_PTR WhatsAppProto::SetMyAvatar(WPARAM, LPARAM lParam) +{ + return 0; +} |