From b69db815a53dd19b2ea728d8ed7f344a7fadb4b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Fri, 22 Dec 2023 21:04:37 -0500 Subject: [PATCH] TransferManager: add accountUri to constructor Change-Id: I4eaa3223dbe075fd64edbc127639673ee8aa1361 --- src/data_transfer.cpp | 8 +++++--- src/data_transfer.h | 2 +- src/jamidht/conversation.cpp | 1 + src/jamidht/jamiaccount.cpp | 4 +++- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/data_transfer.cpp b/src/data_transfer.cpp index e540c5eec3..d06464f24a 100644 --- a/src/data_transfer.cpp +++ b/src/data_transfer.cpp @@ -235,8 +235,9 @@ IncomingFile::process() class TransferManager::Impl { public: - Impl(const std::string& accountId, const std::string& to, const std::mt19937_64& rand) + Impl(const std::string& accountId, const std::string& accountUri, const std::string& to, const std::mt19937_64& rand) : accountId_(accountId) + , accountUri_(accountUri) , to_(to) , rand_(rand) { @@ -280,6 +281,7 @@ public: } std::string accountId_ {}; + std::string accountUri_ {}; std::string to_ {}; std::filesystem::path waitingPath_ {}; std::filesystem::path profilesPath_ {}; @@ -294,8 +296,8 @@ public: std::mt19937_64 rand_; }; -TransferManager::TransferManager(const std::string& accountId, const std::string& to, const std::mt19937_64& rand) - : pimpl_ {std::make_unique<Impl>(accountId, to, rand)} +TransferManager::TransferManager(const std::string& accountId, const std::string& accountUri, const std::string& to, const std::mt19937_64& rand) + : pimpl_ {std::make_unique<Impl>(accountId, accountUri, to, rand)} {} TransferManager::~TransferManager() {} diff --git a/src/data_transfer.h b/src/data_transfer.h index 133e3289d8..e6c75e65d4 100644 --- a/src/data_transfer.h +++ b/src/data_transfer.h @@ -123,7 +123,7 @@ private: class TransferManager : public std::enable_shared_from_this<TransferManager> { public: - TransferManager(const std::string& accountId, const std::string& to, const std::mt19937_64& rand); + TransferManager(const std::string& accountId, const std::string& accountUri, const std::string& to, const std::mt19937_64& rand); ~TransferManager(); /** diff --git a/src/jamidht/conversation.cpp b/src/jamidht/conversation.cpp index 88a493b3f4..9d03d56e26 100644 --- a/src/jamidht/conversation.cpp +++ b/src/jamidht/conversation.cpp @@ -176,6 +176,7 @@ public: swarmManager_->setMobility(shared->isMobile()); accountId_ = shared->getAccountID(); transferManager_ = std::make_shared<TransferManager>(shared->getAccountID(), + "", repository_->id(), Manager::instance().getSeededRandomEngine()); conversationDataPath_ = fileutils::get_data_dir() / shared->getAccountID() diff --git a/src/jamidht/jamiaccount.cpp b/src/jamidht/jamiaccount.cpp index e91d613e27..ac7ebb7346 100644 --- a/src/jamidht/jamiaccount.cpp +++ b/src/jamidht/jamiaccount.cpp @@ -274,7 +274,7 @@ JamiAccount::JamiAccount(const std::string& accountId) , certStore_ {std::make_unique<dhtnet::tls::CertificateStore>(idPath_, Logger::dhtLogger())} , dht_(new dht::DhtRunner) , connectionManager_ {} - , nonSwarmTransferManager_(std::make_shared<TransferManager>(accountId, "", dht::crypto::getDerivedRandomEngine(rand))) + , nonSwarmTransferManager_() {} JamiAccount::~JamiAccount() noexcept @@ -4217,6 +4217,8 @@ JamiAccount::askForProfile(const std::string& conversationId, void JamiAccount::initConnectionManager() { + if (!nonSwarmTransferManager_) + nonSwarmTransferManager_ = std::make_shared<TransferManager>(accountID_, config().username, "", dht::crypto::getDerivedRandomEngine(rand)); if (!connectionManager_) { auto connectionManagerConfig = std::make_shared<dhtnet::ConnectionManager::Config>(); connectionManagerConfig->ioContext = Manager::instance().ioContext(); -- GitLab