aboutsummaryrefslogtreecommitdiffstats
path: root/lang/qt/src/encryptjob.h
diff options
context:
space:
mode:
authorAndre Heinecke <[email protected]>2016-08-09 11:10:08 +0000
committerAndre Heinecke <[email protected]>2016-08-09 12:23:51 +0000
commit34b456c3fb9e59788b07a75441da482bb28bda87 (patch)
tree30cd6a2447ce530ec340e6d52535831e0f745b39 /lang/qt/src/encryptjob.h
parentCpp: Add support for all EncryptionFlags (diff)
downloadgpgme-34b456c3fb9e59788b07a75441da482bb28bda87.tar.gz
gpgme-34b456c3fb9e59788b07a75441da482bb28bda87.zip
Qt: Add support for EncryptJobs with generic flags
* lang/qt/src/encryptjob.h, lang/qt/src/signencryptjob.h, lang/qt/src/qgpgmeencryptjob.h, lang/qt/src/qgpgmeencryptjob.cpp, lang/qt/src/qgpgmesignencryptjob.cpp, lang/qt/src/qgpgmeencryptjob.cpp: Add start and exec overloads that accept generic EncryptFlags. -- While this technically is an ABI break (vtable change) there are no known classes outside qgpgme that inherit encryptjob or signencryptjob. And the new functions should be added to the bottom of the vtable.
Diffstat (limited to '')
-rw-r--r--lang/qt/src/encryptjob.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/lang/qt/src/encryptjob.h b/lang/qt/src/encryptjob.h
index 060ff8df..4ff9c82f 100644
--- a/lang/qt/src/encryptjob.h
+++ b/lang/qt/src/encryptjob.h
@@ -39,6 +39,12 @@
#include <memory>
#include <vector>
+#ifdef BUILDING_QGPGME
+# include "context.h"
+#else
+# include <gpgme++/context.h>
+#endif
+
class QByteArray;
class QIODevice;
@@ -103,13 +109,24 @@ public:
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());
};