summaryrefslogtreecommitdiff
path: root/protocols/Tox/src/tox_transfer.cpp
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2024-01-19 15:44:57 +0300
committerGeorge Hazan <george.hazan@gmail.com>2024-01-19 15:44:57 +0300
commit010952c5c2dde278a024f6876e8189b949ea5dcf (patch)
tree06d2a2cadd982b4c742e4d839d7c1924faefc351 /protocols/Tox/src/tox_transfer.cpp
parentb509e969b7e5e6991c0590cbe43282f219bcc2c1 (diff)
the ancient atavism extincted: PROTORECVFILE structure with its own set of flags
Diffstat (limited to 'protocols/Tox/src/tox_transfer.cpp')
-rw-r--r--protocols/Tox/src/tox_transfer.cpp23
1 files changed, 8 insertions, 15 deletions
diff --git a/protocols/Tox/src/tox_transfer.cpp b/protocols/Tox/src/tox_transfer.cpp
index e5f12a2b8c..1b7b6e4fc3 100644
--- a/protocols/Tox/src/tox_transfer.cpp
+++ b/protocols/Tox/src/tox_transfer.cpp
@@ -21,11 +21,10 @@ void CToxProto::OnFriendFile(Tox *tox, uint32_t friendNumber, uint32_t fileNumbe
{
proto->debugLogA(__FUNCTION__": incoming avatar (%d) from %s (%d)", fileNumber, (const char*)pubKey, friendNumber);
- ptrW address(proto->getWStringA(hContact, TOX_SETTINGS_ID));
- wchar_t avatarName[MAX_PATH];
- mir_snwprintf(avatarName, MAX_PATH, L"%s.png", address.get());
+ CMStringA address(proto->getMStringU(hContact, TOX_SETTINGS_ID));
+ address += "%s.png";
- AvatarTransferParam *transfer = new AvatarTransferParam(friendNumber, fileNumber, avatarName, fileSize);
+ AvatarTransferParam *transfer = new AvatarTransferParam(friendNumber, fileNumber, address, fileSize);
transfer->pfts.flags |= PFTS_RECEIVING;
transfer->pfts.hContact = hContact;
proto->transfers.Add(transfer);
@@ -45,21 +44,15 @@ void CToxProto::OnFriendFile(Tox *tox, uint32_t friendNumber, uint32_t fileNumbe
proto->debugLogA(__FUNCTION__": incoming file (%d) from %s (%d)", fileNumber, (const char*)pubKey, friendNumber);
CMStringA rawName((char*)fileName, (int)fileNameLength);
- const wchar_t *name = mir_utf8decodeW(rawName);
- FileTransferParam *transfer = new FileTransferParam(friendNumber, fileNumber, name, fileSize);
+ FileTransferParam *transfer = new FileTransferParam(friendNumber, fileNumber, rawName, fileSize);
transfer->pfts.flags |= PFTS_RECEIVING;
transfer->pfts.hContact = hContact;
proto->transfers.Add(transfer);
- PROTORECVFILE pre = {};
- pre.dwFlags = PRFF_UNICODE;
- pre.fileCount = 1;
- pre.timestamp = now();
- pre.descr.w = L"";
- pre.files.w = &name;
- pre.pUserInfo = transfer;
- ProtoChainRecvFile(hContact, &pre);
+ DB::EventInfo dbei;
+ dbei.timestamp = now();
+ ProtoChainRecvFile(hContact, DB::FILE_BLOB(transfer, rawName), dbei);
}
break;
@@ -270,7 +263,7 @@ HANDLE CToxProto::OnSendFile(Tox *tox, MCONTACT hContact, const wchar_t*, wchar_
}
debugLogA(__FUNCTION__": start sending file (%d) to %s (%d)", fileNumber, (const char*)pubKey, friendNumber);
- FileTransferParam *transfer = new FileTransferParam(friendNumber, fileNumber, fileName, fileSize);
+ FileTransferParam *transfer = new FileTransferParam(friendNumber, fileNumber, rawName, fileSize);
transfer->pfts.flags |= PFTS_SENDING;
transfer->pfts.hContact = hContact;
transfer->pfts.szWorkingDir.w = fileDir;