From 7dd2fe689d284aab152ece6eb8dd385437b9ef60 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 20 Jan 2023 09:22:11 +0100 Subject: [PATCH] GenericDirectUploadService: Replace DynamicSetup with dynamic task setup Change-Id: Ic9befb63b51101803aef48911ae1d54a87eb98da Reviewed-by: Christian Kandeler --- .../genericdirectuploadservice.cpp | 31 +++++++------------ 1 file changed, 11 insertions(+), 20 deletions(-) diff --git a/src/plugins/remotelinux/genericdirectuploadservice.cpp b/src/plugins/remotelinux/genericdirectuploadservice.cpp index 082321f7ad8..6cd3c799376 100644 --- a/src/plugins/remotelinux/genericdirectuploadservice.cpp +++ b/src/plugins/remotelinux/genericdirectuploadservice.cpp @@ -29,7 +29,6 @@ const int MaxConcurrentStatCalls = 10; struct UploadStorage { QList filesToUpload; - FilesToTransfer filesToTransfer; }; class GenericDirectUploadServicePrivate @@ -46,7 +45,7 @@ public: StatEndHandler statEndHandler); TaskItem statTree(const TreeStorage &storage, FilesToStat filesToStat, StatEndHandler statEndHandler); - TaskItem uploadGroup(const TreeStorage &storage); + TaskItem uploadTask(const TreeStorage &storage); TaskItem chmodTask(const DeployableFile &file); TaskItem chmodTree(const TreeStorage &storage); @@ -186,12 +185,12 @@ TaskItem GenericDirectUploadServicePrivate::statTree(const TreeStorage &storage) +TaskItem GenericDirectUploadServicePrivate::uploadTask(const TreeStorage &storage) { - const auto groupSetupHandler = [=] { + const auto setupHandler = [this, storage](FileTransfer &transfer) { if (storage->filesToUpload.isEmpty()) { emit q->progressMessage(Tr::tr("No files need to be uploaded.")); - return GroupConfig{GroupAction::StopWithDone}; + return TaskAction::StopWithDone; } emit q->progressMessage(Tr::tr("%n file(s) need to be uploaded.", "", storage->filesToUpload.size())); @@ -205,33 +204,25 @@ TaskItem GenericDirectUploadServicePrivate::uploadGroup(const TreeStorageerrorMessage(message); - return GroupConfig{GroupAction::StopWithError}; + return TaskAction::StopWithError; } files.append({file.localFilePath(), q->deviceConfiguration()->filePath(file.remoteFilePath())}); } - storage->filesToTransfer = files; - if (storage->filesToTransfer.isEmpty()) { + if (files.isEmpty()) { emit q->progressMessage(Tr::tr("No files need to be uploaded.")); - return GroupConfig{GroupAction::StopWithDone}; + return TaskAction::StopWithDone; } - return GroupConfig(); - }; - - const auto setupHandler = [this, storage](FileTransfer &transfer) { - transfer.setFilesToTransfer(storage->filesToTransfer); + transfer.setFilesToTransfer(files); QObject::connect(&transfer, &FileTransfer::progress, q, &GenericDirectUploadService::progressMessage); + return TaskAction::Continue; }; const auto errorHandler = [this](const FileTransfer &transfer) { emit q->errorMessage(transfer.resultData().m_errorString); }; - const Group group { - DynamicSetup(groupSetupHandler), - Transfer(setupHandler, {}, errorHandler) - }; - return group; + return Transfer(setupHandler, {}, errorHandler); } TaskItem GenericDirectUploadServicePrivate::chmodTask(const DeployableFile &file) @@ -310,7 +301,7 @@ Group GenericDirectUploadService::deployRecipe() const Group root { Storage(storage), d->statTree(storage, preFilesToStat, preStatEndHandler), - d->uploadGroup(storage), + d->uploadTask(storage), Group { d->chmodTree(storage), d->statTree(storage, postFilesToStat, postStatEndHandler)