aboutsummaryrefslogtreecommitdiffstats
path: root/lang/qt/src
diff options
context:
space:
mode:
authorAndre Heinecke <[email protected]>2020-07-16 15:00:28 +0000
committerAndre Heinecke <[email protected]>2020-07-16 15:00:28 +0000
commit690d967196d9f888e2b7c12d8c77ad752d7e15bf (patch)
tree303f1cdcea12846cc305407bf6a2c3f19c6ab7dd /lang/qt/src
parentcore: Also allow GPGME_EXPORT_MODE_SSH for gpgme_op_export. (diff)
downloadgpgme-690d967196d9f888e2b7c12d8c77ad752d7e15bf.tar.gz
gpgme-690d967196d9f888e2b7c12d8c77ad752d7e15bf.zip
qt, cpp: Support export modes
* lang/cpp/context.cpp, lang/cpp/context.h (Context::startPublicKeyExport, Context::exportPublicKeys): Extend with flags paramenter. (Context::ExportMode): New. * lang/qt/src/exportjob.h (ExportJob::setExportMode): New. * lang/qt/src/qgpgmeexportjob.cpp, lang/qt/src/qgpgmeexportjob.h: Update accordingly. -- This adds the C++ and Qt API for export modes.
Diffstat (limited to 'lang/qt/src')
-rw-r--r--lang/qt/src/exportjob.h2
-rw-r--r--lang/qt/src/qgpgmeexportjob.cpp19
-rw-r--r--lang/qt/src/qgpgmeexportjob.h5
3 files changed, 22 insertions, 4 deletions
diff --git a/lang/qt/src/exportjob.h b/lang/qt/src/exportjob.h
index fc1f7ae1..7f79ea08 100644
--- a/lang/qt/src/exportjob.h
+++ b/lang/qt/src/exportjob.h
@@ -79,6 +79,8 @@ public:
*/
virtual GpgME::Error start(const QStringList &patterns) = 0;
+ virtual void setExportFlags (unsigned int flags);
+
Q_SIGNALS:
void result(const GpgME::Error &result, const QByteArray &keyData, const QString &auditLogAsHtml = QString(), const GpgME::Error &auditLogError = GpgME::Error());
};
diff --git a/lang/qt/src/qgpgmeexportjob.cpp b/lang/qt/src/qgpgmeexportjob.cpp
index e2ce1f97..bf3297a7 100644
--- a/lang/qt/src/qgpgmeexportjob.cpp
+++ b/lang/qt/src/qgpgmeexportjob.cpp
@@ -52,14 +52,15 @@ using namespace QGpgME;
using namespace GpgME;
QGpgMEExportJob::QGpgMEExportJob(Context *context)
- : mixin_type(context)
+ : mixin_type(context),
+ m_flags(0)
{
lateInitialization();
}
QGpgMEExportJob::~QGpgMEExportJob() {}
-static QGpgMEExportJob::result_type export_qba(Context *ctx, const QStringList &patterns)
+static QGpgMEExportJob::result_type export_qba(Context *ctx, const QStringList &patterns, unsigned int flags)
{
const _detail::PatternConverter pc(patterns);
@@ -67,7 +68,7 @@ static QGpgMEExportJob::result_type export_qba(Context *ctx, const QStringList &
QGpgME::QByteArrayDataProvider dp;
Data data(&dp);
- const Error err = ctx->exportPublicKeys(pc.patterns(), data);
+ const Error err = ctx->exportPublicKeys(pc.patterns(), data, flags);
Error ae;
const QString log = _detail::audit_log_as_html(ctx, ae);
return std::make_tuple(err, dp.data(), log, ae);
@@ -75,7 +76,17 @@ static QGpgMEExportJob::result_type export_qba(Context *ctx, const QStringList &
Error QGpgMEExportJob::start(const QStringList &patterns)
{
- run(std::bind(&export_qba, std::placeholders::_1, patterns));
+ run(std::bind(&export_qba, std::placeholders::_1, patterns, m_flags));
return Error();
}
+
+void QGpgMEExportJob::setExportFlags(unsigned int flags)
+{
+ m_flags = flags;
+}
+
+/* For ABI compat not pure virtual. */
+void ExportJob::setExportFlags(unsigned int)
+{
+}
#include "qgpgmeexportjob.moc"
diff --git a/lang/qt/src/qgpgmeexportjob.h b/lang/qt/src/qgpgmeexportjob.h
index d529feec..3f6bd0e2 100644
--- a/lang/qt/src/qgpgmeexportjob.h
+++ b/lang/qt/src/qgpgmeexportjob.h
@@ -59,7 +59,12 @@ public:
~QGpgMEExportJob();
/* from ExportJob */
+ void setExportFlags (unsigned int flags) Q_DECL_OVERRIDE;
+
+ /* from ExportJob */
GpgME::Error start(const QStringList &patterns) Q_DECL_OVERRIDE;
+private:
+ unsigned int m_flags;
};
}