diff options
Diffstat (limited to 'src/core/utils/AsyncUtils.cpp')
-rw-r--r-- | src/core/utils/AsyncUtils.cpp | 56 |
1 files changed, 26 insertions, 30 deletions
diff --git a/src/core/utils/AsyncUtils.cpp b/src/core/utils/AsyncUtils.cpp index 4de7fa1e..d414ac99 100644 --- a/src/core/utils/AsyncUtils.cpp +++ b/src/core/utils/AsyncUtils.cpp @@ -49,43 +49,39 @@ void RunGpgOperaAsync(GpgOperaRunnable runnable, GpgOperationCallback callback, return; } - auto* task = new Thread::Task( - [=](const DataObjectPtr& data_object) -> int { - auto custom_data_object = TransferParams(); - GpgError err = runnable(custom_data_object); - - data_object->Swap({err, custom_data_object}); - return 0; - }, - operation, TransferParams(), - [=](int, const DataObjectPtr& data_object) { - callback(ExtractParams<GpgError>(data_object, 0), - ExtractParams<DataObjectPtr>(data_object, 1)); - }); - Thread::TaskRunnerGetter::GetInstance() .GetTaskRunner(Thread::TaskRunnerGetter::kTaskRunnerType_GPG) - ->PostTask(task); + ->PostTask( + [=](const DataObjectPtr& data_object) -> int { + auto custom_data_object = TransferParams(); + GpgError err = runnable(custom_data_object); + + data_object->Swap({err, custom_data_object}); + return 0; + }, + [=](int, const DataObjectPtr& data_object) { + callback(ExtractParams<GpgError>(data_object, 0), + ExtractParams<DataObjectPtr>(data_object, 1)); + }, + TransferParams()); } void RunIOOperaAsync(OperaRunnable runnable, OperationCallback callback, const std::string& operation) { - auto* task = new Thread::Task( - [=](const DataObjectPtr& data_object) -> int { - auto custom_data_object = TransferParams(); - GpgError err = runnable(custom_data_object); - - data_object->Swap({err, custom_data_object}); - return 0; - }, - operation, TransferParams(), - [=](int, const DataObjectPtr& data_object) { - callback(ExtractParams<GFError>(data_object, 0), - ExtractParams<DataObjectPtr>(data_object, 1)); - }); - Thread::TaskRunnerGetter::GetInstance() .GetTaskRunner(Thread::TaskRunnerGetter::kTaskRunnerType_IO) - ->PostTask(task); + ->PostTask( + [=](const DataObjectPtr& data_object) -> int { + auto custom_data_object = TransferParams(); + GpgError err = runnable(custom_data_object); + + data_object->Swap({err, custom_data_object}); + return 0; + }, + [=](int, const DataObjectPtr& data_object) { + callback(ExtractParams<GFError>(data_object, 0), + ExtractParams<DataObjectPtr>(data_object, 1)); + }, + TransferParams()); } } // namespace GpgFrontend
\ No newline at end of file |