aboutsummaryrefslogtreecommitdiffstats
path: root/src/core/utils/AsyncUtils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/utils/AsyncUtils.cpp')
-rw-r--r--src/core/utils/AsyncUtils.cpp56
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