diff options
author | Ingo Klöcker <dev@ingo-kloecker.de> | 2023-01-31 11:20:47 +0100 |
---|---|---|
committer | Ingo Klöcker <dev@ingo-kloecker.de> | 2023-01-31 12:01:33 +0100 |
commit | 8c4436e73af369f79f125f56d020d01b184cafc6 (patch) | |
tree | 0b9d91b273067e03e1718c3687f11a63740f59bd /lang/qt/src/qgpgmesignencryptarchivejob.h | |
parent | 2b98585c89c1654aa736777eeb92ff79d5fdd72b (diff) | |
download | gpgme-8c4436e73af369f79f125f56d020d01b184cafc6.tar.gz |
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/qgpgmesignencryptarchivejob.h')
-rw-r--r-- | lang/qt/src/qgpgmesignencryptarchivejob.h | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/lang/qt/src/qgpgmesignencryptarchivejob.h b/lang/qt/src/qgpgmesignencryptarchivejob.h new file mode 100644 index 00000000..80e6da4f --- /dev/null +++ b/lang/qt/src/qgpgmesignencryptarchivejob.h @@ -0,0 +1,72 @@ +/* + qgpgmesignencryptarchivejob.h + + This file is part of qgpgme, the Qt API binding for gpgme + Copyright (c) 2023 g10 Code GmbH + Software engineering by Ingo Klöcker <dev@ingo-kloecker.de> + + QGpgME is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + QGpgME is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + In addition, as a special exception, the copyright holders give + permission to link the code of this program with any edition of + the Qt library by Trolltech AS, Norway (or with modified versions + of Qt that use the same license as Qt), and distribute linked + combinations including the two. You must obey the GNU General + Public License in all respects for all of the code used other than + Qt. If you modify this file, you may extend this exception to + your version of the file, but you are not obligated to do so. If + you do not wish to do so, delete this exception statement from + your version. +*/ + +#ifndef __QGPGME_QGPGMESIGNENCRYPTARCHIVEJOB_H__ +#define __QGPGME_QGPGMESIGNENCRYPTARCHIVEJOB_H__ + +#include "signencryptarchivejob.h" + +#include "threadedjobmixin.h" + +#include <encryptionresult.h> +#include <signingresult.h> + +namespace QGpgME +{ + +class QGpgMESignEncryptArchiveJob +#ifdef Q_MOC_RUN + : public SignEncryptArchiveJob +#else + : public _detail::ThreadedJobMixin<SignEncryptArchiveJob, std::tuple<GpgME::SigningResult, GpgME::EncryptionResult, QString, GpgME::Error>> +#endif +{ + Q_OBJECT +#ifdef Q_MOC_RUN +public Q_SLOTS: + void slotFinished(); +#endif +public: + explicit QGpgMESignEncryptArchiveJob(GpgME::Context *context); + ~QGpgMESignEncryptArchiveJob() = default; + + GpgME::Error start(const std::vector<GpgME::Key> &signers, + const std::vector<GpgME::Key> &recipients, + const std::vector<QString> &paths, + const std::shared_ptr<QIODevice> &cipherText, + const GpgME::Context::EncryptionFlags flags) override; +}; + +} + +#endif // __QGPGME_QGPGMESIGNENCRYPTARCHIVEJOB_H__ |