diff options
author | George Hazan <george.hazan@gmail.com> | 2024-01-19 15:44:57 +0300 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2024-01-19 15:44:57 +0300 |
commit | 010952c5c2dde278a024f6876e8189b949ea5dcf (patch) | |
tree | 06d2a2cadd982b4c742e4d839d7c1924faefc351 /protocols/Tox/src/tox_transfer.cpp | |
parent | b509e969b7e5e6991c0590cbe43282f219bcc2c1 (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.cpp | 23 |
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;
|