aboutsummaryrefslogtreecommitdiffstats
path: root/lang/qt/src/protocol_p.h
diff options
context:
space:
mode:
authorIngo Klöcker <[email protected]>2023-01-31 10:20:47 +0000
committerIngo Klöcker <[email protected]>2023-01-31 11:01:33 +0000
commit8c4436e73af369f79f125f56d020d01b184cafc6 (patch)
tree0b9d91b273067e03e1718c3687f11a63740f59bd /lang/qt/src/protocol_p.h
parentqt,tests: Avoid leaking Context (diff)
downloadgpgme-8c4436e73af369f79f125f56d020d01b184cafc6.tar.gz
gpgme-8c4436e73af369f79f125f56d020d01b184cafc6.zip
qt: Add job for creating encrypted signed archives
* lang/qt/src/signencryptarchivejob.cpp, lang/qt/src/signencryptarchivejob.h, lang/qt/src/signencryptarchivejob_p.h, lang/qt/src/qgpgmesignencryptarchivejob.cpp, lang/qt/src/qgpgmesignencryptarchivejob.h: New. * lang/qt/src/protocol.h (class Protocol): Add pure virtual member function signEncryptArchiveJob * lang/qt/src/protocol_p.h (Protocol::signEncryptArchiveJob): ... and implement it. * lang/qt/src/Makefile.am: Update accordingly. * lang/qt/tests/run-encryptarchivejob.cpp (displayName): Remove. (CommandLineOptions): Initialize member armor. Add member sign. (parseCommandLine): Update application description. Add and parse option -s/--sign. (main): Use SignEncryptArchiveJob if sign option is set. -- GnuPG-bug-id: 6342
Diffstat (limited to 'lang/qt/src/protocol_p.h')
-rw-r--r--lang/qt/src/protocol_p.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/lang/qt/src/protocol_p.h b/lang/qt/src/protocol_p.h
index 73405c6d..a4a33acb 100644
--- a/lang/qt/src/protocol_p.h
+++ b/lang/qt/src/protocol_p.h
@@ -49,6 +49,7 @@
#include "qgpgmeencryptarchivejob.h"
#include "qgpgmeencryptjob.h"
#include "qgpgmesignarchivejob.h"
+#include "qgpgmesignencryptarchivejob.h"
#include "qgpgmesignjob.h"
#include "qgpgmesignkeyjob.h"
#include "qgpgmeexportjob.h"
@@ -532,6 +533,18 @@ public:
}
return nullptr;
}
+
+ QGpgME::SignEncryptArchiveJob *signEncryptArchiveJob(bool armor) const override
+ {
+ if (mProtocol != GpgME::OpenPGP) {
+ return nullptr;
+ }
+ if (auto context = GpgME::Context::createForProtocol(mProtocol)) {
+ context->setArmor(armor);
+ return new QGpgME::QGpgMESignEncryptArchiveJob{context};
+ }
+ return nullptr;
+ }
};
}