diff options
author | Ingo Klöcker <[email protected]> | 2020-10-28 16:02:22 +0000 |
---|---|---|
committer | Ingo Klöcker <[email protected]> | 2020-10-29 11:57:10 +0000 |
commit | f042739d3a2ed23a90441a81782e4c3ac6ffb1c5 (patch) | |
tree | c96b36b2b16bef7aad038d95e19ca04928770ec4 | |
parent | qt: Some minor cleanups (diff) | |
download | gpgme-f042739d3a2ed23a90441a81782e4c3ac6ffb1c5.tar.gz gpgme-f042739d3a2ed23a90441a81782e4c3ac6ffb1c5.zip |
qt: Add support for revoke signature quick command
* lang/qt/src/quickjob.h (QuickJob::startRevokeSignature): New.
* lang/qt/src/qgpgmequickjob.h, lang/qt/src/qgpgmequickjob.cpp
(QGpgMEQuickJob::startRevokeSignature): New.
* lang/qt/src/qgpgmequickjob.cpp (revokeSignatureWorker): New.
--
GnuPG-bug-id: 5094
-rw-r--r-- | NEWS | 3 | ||||
-rw-r--r-- | lang/qt/src/qgpgmequickjob.cpp | 24 | ||||
-rw-r--r-- | lang/qt/src/qgpgmequickjob.h | 5 | ||||
-rw-r--r-- | lang/qt/src/quickjob.h | 11 |
4 files changed, 41 insertions, 2 deletions
@@ -14,6 +14,8 @@ Noteworthy changes in version 1.14.1 (unreleased) * qt: Extended ChangeExpiryJob to support changing the expiry of subkeys. [#4717] + * qt: Extended QuickJob to support revoking of key signatures. [#5094] + * qt: Added QDebug stream operator for GpgME::Error. * Interface changes relative to the 1.14.0 release: @@ -34,6 +36,7 @@ Noteworthy changes in version 1.14.1 (unreleased) cpp: Context::revokeSignature NEW. cpp: Context::startRevokeSignature NEW. qt: operator<<(QDebug debug, const GpgME::Error &err) NEW. + qt: QuickJob::startRevokeSignature NEW. Noteworthy changes in version 1.14.0 (2020-07-16) diff --git a/lang/qt/src/qgpgmequickjob.cpp b/lang/qt/src/qgpgmequickjob.cpp index 93027d94..e29be913 100644 --- a/lang/qt/src/qgpgmequickjob.cpp +++ b/lang/qt/src/qgpgmequickjob.cpp @@ -1,6 +1,9 @@ -/* qgpgmequickjob.cpp +/* qgpgmequickjob.cpp + This file is part of qgpgme, the Qt API binding for gpgme Copyright (c) 2017 Intevation GmbH + Copyright (c) 2020 g10 Code GmbH + Software engineering by Ingo Klöcker <[email protected]> QGpgME is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -47,7 +50,9 @@ QGpgMEQuickJob::QGpgMEQuickJob(Context *context) lateInitialization(); } -QGpgMEQuickJob::~QGpgMEQuickJob() {} +QGpgMEQuickJob::~QGpgMEQuickJob() +{ +} static QGpgMEQuickJob::result_type createWorker(GpgME::Context *ctx, const QString &uid, @@ -93,6 +98,15 @@ static QGpgMEQuickJob::result_type revUidWorker(GpgME::Context *ctx, return std::make_tuple(err, QString(), Error()); } +static QGpgMEQuickJob::result_type revokeSignatureWorker(Context *ctx, + const Key &key, + const Key &signingKey, + const std::vector<UserID> &userIds) +{ + const auto err = ctx->revokeSignature(key, signingKey, userIds); + return std::make_tuple(err, QString(), Error()); +} + void QGpgMEQuickJob::startCreate(const QString &uid, const char *algo, const QDateTime &expires, @@ -120,4 +134,10 @@ void QGpgMEQuickJob::startAddSubkey(const GpgME::Key &key, const char *algo, run(std::bind(&addSubkeyWorker, std::placeholders::_1, key, algo, expires, flags)); } + +void QGpgMEQuickJob::startRevokeSignature(const Key &key, const Key &signingKey, const std::vector<UserID> &userIds) +{ + run(std::bind(&revokeSignatureWorker, std::placeholders::_1, key, signingKey, userIds)); +} + #include "qgpgmequickjob.moc" diff --git a/lang/qt/src/qgpgmequickjob.h b/lang/qt/src/qgpgmequickjob.h index 59181547..b4e2dfa9 100644 --- a/lang/qt/src/qgpgmequickjob.h +++ b/lang/qt/src/qgpgmequickjob.h @@ -1,6 +1,9 @@ /* qgpgmequickjob.h + This file is part of qgpgme, the Qt API binding for gpgme Copyright (c) 2017 Intevation GmbH + Copyright (c) 2020 g10 Code GmbH + Software engineering by Ingo Klöcker <[email protected]> QGpgME is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -66,6 +69,8 @@ public: void startAddSubkey(const GpgME::Key &key, const char *algo, const QDateTime &expires = QDateTime(), unsigned int flags = 0) Q_DECL_OVERRIDE; + void startRevokeSignature(const GpgME::Key &key, const GpgME::Key &signingKey, + const std::vector<GpgME::UserID> &userIds = std::vector<GpgME::UserID>()) Q_DECL_OVERRIDE; }; } diff --git a/lang/qt/src/quickjob.h b/lang/qt/src/quickjob.h index c0a655b7..82c9d89d 100644 --- a/lang/qt/src/quickjob.h +++ b/lang/qt/src/quickjob.h @@ -1,6 +1,9 @@ /* quickjob.h + This file is part of qgpgme, the Qt API binding for gpgme Copyright (c) 2017 Intevation GmbH + Copyright (c) 2020 g10 Code GmbH + Software engineering by Ingo Klöcker <[email protected]> QGpgME is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -74,6 +77,14 @@ public: const QDateTime &expires = QDateTime(), unsigned int flags = 0) = 0; + /** + Starts the operation to revoke the signatures made with the key \a signingKey on the + user IDs \a userIds of the key \a key. If \a userIds is an empty list, then all + signatures made with \a signingKey on the user IDs of \a key will be revoked. + */ + virtual void startRevokeSignature(const GpgME::Key &key, const GpgME::Key &signingKey, + const std::vector<GpgME::UserID> &userIds = std::vector<GpgME::UserID>()) = 0; + Q_SIGNALS: void result(const GpgME::Error &error, const QString &auditLogAsHtml, const GpgME::Error &auditLogError); |