From 18c2c0b2509069951829bb0bdd9b39dc467f5e6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingo=20Kl=C3=B6cker?= Date: Tue, 3 Jan 2023 12:29:48 +0100 Subject: qt: Support deferred start of jobs * lang/qt/src/job.cpp, lang/qt/src/job.h (Job::startNow): New method. * lang/qt/src/job_p.h (JobPrivate::start): New pure virtual method. * lang/qt/src/qgpgmechangeexpiryjob.cpp (QGpgMEChangeExpiryJobPrivate::start): New. * lang/qt/src/qgpgmeencryptjob.cpp (QGpgMEEncryptJobPrivate::start): New. * lang/qt/src/qgpgmeimportjob.cpp (QGpgMEImportJobPrivate::start): New. * lang/qt/src/qgpgmelistallkeysjob.cpp (QGpgMEListAllKeysJobPrivate::start): New. * lang/qt/src/qgpgmesignencryptjob.cpp (QGpgMESignEncryptJobPrivate::start): New. * lang/qt/src/threadedjobmixin.h (Thread::hasFunction): New method. (ThreadedJobMixin::run, ThreadedJobMixin::setWorkerFunction): New methods. -- startNow() starts a deferred job for which the worker function has been set before. GnuPG-bug-id: 6323 --- lang/qt/src/job.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'lang/qt/src/job.cpp') diff --git a/lang/qt/src/job.cpp b/lang/qt/src/job.cpp index 98f408b4..85de2ce7 100644 --- a/lang/qt/src/job.cpp +++ b/lang/qt/src/job.cpp @@ -137,6 +137,13 @@ GpgME::Context *QGpgME::Job::context(QGpgME::Job *job) return QGpgME::g_context_map.value (job, nullptr); } +void QGpgME::Job::startNow() +{ + auto d = getJobPrivate(this); + Q_ASSERT(d && "This Job class has no JobPrivate class"); + d->start(); +} + #define make_job_subclass_ext(x,y) \ QGpgME::x::x( QObject * parent ) : y( parent ) {} \ QGpgME::x::~x() {} -- cgit v1.2.3