diff options
Diffstat (limited to 'lang/qt/src/encryptjob.h')
-rw-r--r-- | lang/qt/src/encryptjob.h | 198 |
1 files changed, 0 insertions, 198 deletions
diff --git a/lang/qt/src/encryptjob.h b/lang/qt/src/encryptjob.h deleted file mode 100644 index dde9d6e8..00000000 --- a/lang/qt/src/encryptjob.h +++ /dev/null @@ -1,198 +0,0 @@ -/* - encryptjob.h - - This file is part of qgpgme, the Qt API binding for gpgme - Copyright (c) 2004, 2007 Klarälvdalens Datakonsult AB - Copyright (c) 2016 by Bundesamt für Sicherheit in der Informationstechnik - Software engineering by Intevation GmbH - Copyright (c) 2022 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 - 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 __KLEO_ENCRYPTJOB_H__ -#define __KLEO_ENCRYPTJOB_H__ - -#include "job.h" -#include <gpgme++/data.h> - -#include <memory> -#include <vector> - -#include <gpgme++/context.h> - -class QByteArray; -class QIODevice; - -namespace GpgME -{ -class Error; -class Key; -class EncryptionResult; -} - -namespace QGpgME -{ - -/** - @short An abstract base class for asynchronous encrypters - - To use a EncryptJob, first obtain an instance from the - CryptoBackend implementation, connect the progress() and result() - signals to suitable slots and then start the encryption with a - call to start(). This call might fail, in which case the - EncryptJob instance will have scheduled it's own destruction with - a call to QObject::deleteLater(). - - Alternatively, the job can be started with startIt() after setting - an input file and an output file and, optionally, recipients or flags. - If the job is started this way then the backend reads the input and - writes the output directly from/to the specified input file and output - file. In this case the cipherText value of the result signal will always - be empty. This direct IO mode is currently only supported for OpenPGP. - Note that startIt() does not schedule the job's destruction if starting - the job failed. - - After result() is emitted, the EncryptJob will schedule it's own - destruction by calling QObject::deleteLater(). -*/ -class QGPGME_EXPORT EncryptJob : public Job -{ - Q_OBJECT -protected: - explicit EncryptJob(QObject *parent); -public: - ~EncryptJob() override; - - /** - * Sets the file name to embed in the encryption result. - * - * This is only used if one of the start() functions is used. - */ - void setFileName(const QString &fileName); - QString fileName() const; - - /** - * Sets the encoding of the plaintext. - * - * This is only used if one of the start() functions is used. - */ - void setInputEncoding(GpgME::Data::Encoding); - GpgME::Data::Encoding inputEncoding() const; - - /** - * Sets the keys to use for encryption. - * - * Used if the job is started with startIt(). - */ - void setRecipients(const std::vector<GpgME::Key> &recipients); - std::vector<GpgME::Key> recipients() const; - - /** - * Sets the path of the file to encrypt. - * - * Used if the job is started with startIt(). - */ - void setInputFile(const QString &path); - QString inputFile() const; - - /** - * Sets the path of the file to write the encryption result to. - * - * Used if the job is started with startIt(). - * - * \note If a file with this path exists, then the job will fail, i.e. you - * need to delete an existing file that shall be overwritten before you - * start the job. - */ - void setOutputFile(const QString &path); - QString outputFile() const; - - /** - * Sets the flags to use for encryption. - * - * Defaults to \c EncryptFile. - * - * Used if the job is started with startIt(). The \c EncryptFile flag is - * always assumed set. - */ - void setEncryptionFlags(GpgME::Context::EncryptionFlags flags); - GpgME::Context::EncryptionFlags encryptionFlags() const; - - /** - Starts the encryption operation. \a recipients is the a list of - keys to encrypt \a plainText to. Empty (null) keys are - ignored. If \a recipients is empty, performs symmetric - (passphrase) encryption. - - If \a alwaysTrust is true, validity checking for the keys will - not be performed, but full validity assumed for all keys - without further checks. - */ - virtual GpgME::Error start(const std::vector<GpgME::Key> &recipients, - const QByteArray &plainText, bool alwaysTrust = false) = 0; - - /*! - \overload - - If \a cipherText is non-null, the ciphertext is written - there. Otherwise, it will be delivered in the second argument of - result(). - */ - virtual void start(const std::vector<GpgME::Key> &recipients, - const std::shared_ptr<QIODevice> &plainText, - const std::shared_ptr<QIODevice> &cipherText = std::shared_ptr<QIODevice>(), - bool alwaysTrust = false) = 0; - - virtual GpgME::EncryptionResult exec(const std::vector<GpgME::Key> &recipients, - const QByteArray &plainText, - bool alwaysTrust, QByteArray &cipherText) = 0; - /*! - This is a hack to request BASE64 output (instead of whatever - comes out normally). - */ - virtual void setOutputIsBase64Encoded(bool) = 0; - - /** Like start but with an additional argument for EncryptionFlags for - * more flexibility. */ - virtual void start(const std::vector<GpgME::Key> &recipients, - const std::shared_ptr<QIODevice> &plainText, - const std::shared_ptr<QIODevice> &cipherText = std::shared_ptr<QIODevice>(), - const GpgME::Context::EncryptionFlags flags = GpgME::Context::None) = 0; - - /** Like exec but with an additional argument for EncryptionFlags for - * more flexibility. */ - virtual GpgME::EncryptionResult exec(const std::vector<GpgME::Key> &recipients, - const QByteArray &plainText, - const GpgME::Context::EncryptionFlags flags, QByteArray &cipherText) = 0; -Q_SIGNALS: - void result(const GpgME::EncryptionResult &result, const QByteArray &cipherText, const QString &auditLogAsHtml = QString(), const GpgME::Error &auditLogError = GpgME::Error()); -}; - -} - -#endif // __KLEO_ENCRYPTJOB_H__ |