aboutsummaryrefslogtreecommitdiffstats
path: root/lang/qt/src/encryptjob.h
diff options
context:
space:
mode:
Diffstat (limited to 'lang/qt/src/encryptjob.h')
-rw-r--r--lang/qt/src/encryptjob.h198
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__