diff options
author | saturneric <[email protected]> | 2024-01-12 06:02:37 +0000 |
---|---|---|
committer | saturneric <[email protected]> | 2024-01-12 06:02:37 +0000 |
commit | bf538056b24a68b8fd235b1c50991ee8eb46a776 (patch) | |
tree | e1bab54095b80df62b321fb5bd69453f9f951b05 /src/core/utils/AsyncUtils.cpp | |
parent | feat: improve api and ui of keys import and export (diff) | |
download | GpgFrontend-bf538056b24a68b8fd235b1c50991ee8eb46a776.tar.gz GpgFrontend-bf538056b24a68b8fd235b1c50991ee8eb46a776.zip |
refactor: use QString instead of std::string and improve threading system
Diffstat (limited to 'src/core/utils/AsyncUtils.cpp')
-rw-r--r-- | src/core/utils/AsyncUtils.cpp | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/src/core/utils/AsyncUtils.cpp b/src/core/utils/AsyncUtils.cpp index c22ffd6d..f5289b19 100644 --- a/src/core/utils/AsyncUtils.cpp +++ b/src/core/utils/AsyncUtils.cpp @@ -36,9 +36,9 @@ namespace GpgFrontend { -void RunGpgOperaAsync(GpgOperaRunnable runnable, GpgOperationCallback callback, - const std::string& operation, - const std::string& minial_version) { +auto RunGpgOperaAsync(GpgOperaRunnable runnable, GpgOperationCallback callback, + const QString& operation, const QString& minial_version) + -> std::tuple<QPointer<Thread::Task>, Thread::Task::TaskTrigger> { const auto gnupg_version = Module::RetrieveRTValueTypedOrDefault<>( "core", "gpgme.ctx.gnupg_version", minial_version); GF_CORE_LOG_DEBUG("got gnupg version from rt: {}", gnupg_version); @@ -46,12 +46,12 @@ void RunGpgOperaAsync(GpgOperaRunnable runnable, GpgOperationCallback callback, if (CompareSoftwareVersion(gnupg_version, "2.0.15") < 0) { GF_CORE_LOG_ERROR("operator not support"); callback(GPG_ERR_NOT_SUPPORTED, TransferParams()); - return; + return {nullptr, {}}; } - Thread::TaskRunnerGetter::GetInstance() + return Thread::TaskRunnerGetter::GetInstance() .GetTaskRunner(Thread::TaskRunnerGetter::kTaskRunnerType_GPG) - ->PostTask( + ->RegisterTask( operation, [=](const DataObjectPtr& data_object) -> int { auto custom_data_object = TransferParams(); @@ -67,11 +67,12 @@ void RunGpgOperaAsync(GpgOperaRunnable runnable, GpgOperationCallback callback, TransferParams()); } -void RunIOOperaAsync(OperaRunnable runnable, OperationCallback callback, - const std::string& operation) { - Thread::TaskRunnerGetter::GetInstance() +auto RunIOOperaAsync(OperaRunnable runnable, OperationCallback callback, + const QString& operation) + -> std::tuple<QPointer<Thread::Task>, Thread::Task::TaskTrigger> { + return Thread::TaskRunnerGetter::GetInstance() .GetTaskRunner(Thread::TaskRunnerGetter::kTaskRunnerType_IO) - ->PostTask( + ->RegisterTask( operation, [=](const DataObjectPtr& data_object) -> int { auto custom_data_object = TransferParams(); |