From 9832e80336aaa64bc2ef80d3361bac83bd658275 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Fri, 22 Dec 2023 15:35:11 -0500 Subject: [PATCH] data transfer: return filesystem::path Change-Id: I9fa3dc2be03856fbd0e647ce6f15d11ccb6881ee --- src/data_transfer.cpp | 11 +++++------ src/data_transfer.h | 4 ++-- src/jamidht/transfer_channel_handler.cpp | 6 +++--- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/data_transfer.cpp b/src/data_transfer.cpp index 3d379f34ba..e540c5eec3 100644 --- a/src/data_transfer.cpp +++ b/src/data_transfer.cpp @@ -369,7 +369,7 @@ TransferManager::info(const std::string& fileId, auto itI = pimpl_->incomings_.find(fileId); auto itW = pimpl_->waitingIds_.find(fileId); - path = this->path(fileId); + path = this->path(fileId).string(); if (itI != pimpl_->incomings_.end()) { total = itI->second->info().totalSize; progress = itI->second->info().bytesProgress; @@ -478,10 +478,10 @@ TransferManager::onIncomingFileTransfer(const std::string& fileId, } } -std::string +std::filesystem::path TransferManager::path(const std::string& fileId) const { - return (pimpl_->conversationDataPath_ / fileId).string(); + return pimpl_->conversationDataPath_ / fileId; } void @@ -560,11 +560,10 @@ TransferManager::onIncomingProfile(const std::shared_ptr<dhtnet::ChannelSocket>& } } -std::string +std::filesystem::path TransferManager::profilePath(const std::string& contactId) const { - // TODO iOS? - return (pimpl_->profilesPath_ / fmt::format("{}.vcf", base64::encode(contactId))).string(); + return pimpl_->profilesPath_ / fmt::format("{}.vcf", base64::encode(contactId)); } std::vector<WaitingRequest> diff --git a/src/data_transfer.h b/src/data_transfer.h index 8ba13fee05..133e3289d8 100644 --- a/src/data_transfer.h +++ b/src/data_transfer.h @@ -188,7 +188,7 @@ public: * Retrieve path of a file * @param id */ - std::string path(const std::string& fileId) const; + std::filesystem::path path(const std::string& fileId) const; /** * Retrieve waiting files @@ -202,7 +202,7 @@ public: * @param contactId contact's id * @return where profile.vcf is stored */ - std::string profilePath(const std::string& contactId) const; + std::filesystem::path profilePath(const std::string& contactId) const; private: std::weak_ptr<TransferManager> weak() diff --git a/src/jamidht/transfer_channel_handler.cpp b/src/jamidht/transfer_channel_handler.cpp index 172fd47cfd..add8557426 100644 --- a/src/jamidht/transfer_channel_handler.cpp +++ b/src/jamidht/transfer_channel_handler.cpp @@ -164,7 +164,7 @@ TransferChannelHandler::onReady(const std::shared_ptr<dht::crypto::Certificate>& return; } else if (isContactProfile && fileId.find(".vcf") != std::string::npos) { auto path = acc->dataTransfer()->profilePath(fileId.substr(0, fileId.size() - 4)); - acc->dataTransfer()->transferFile(channel, fileId, "", path); + acc->dataTransfer()->transferFile(channel, fileId, "", path.string()); return; } else if (fileId == "profile.vcf") { acc->dataTransfer()->onIncomingProfile(channel, sha3Sum); @@ -178,8 +178,8 @@ TransferChannelHandler::onReady(const std::shared_ptr<dht::crypto::Certificate>& return; } auto interactionId = fileId.substr(0, sep); - std::string path = dt->path(fileId); - dt->transferFile(channel, fileId, interactionId, path, start, end); + auto path = dt->path(fileId); + dt->transferFile(channel, fileId, interactionId, path.string(), start, end); } } // namespace jami \ No newline at end of file -- GitLab