aboutsummaryrefslogtreecommitdiffstats
path: root/src/core/utils/AsyncUtils.cpp
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2024-01-12 06:02:37 +0000
committersaturneric <[email protected]>2024-01-12 06:02:37 +0000
commitbf538056b24a68b8fd235b1c50991ee8eb46a776 (patch)
treee1bab54095b80df62b321fb5bd69453f9f951b05 /src/core/utils/AsyncUtils.cpp
parentfeat: improve api and ui of keys import and export (diff)
downloadGpgFrontend-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.cpp21
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();