From 690d967196d9f888e2b7c12d8c77ad752d7e15bf Mon Sep 17 00:00:00 2001 From: Andre Heinecke Date: Thu, 16 Jul 2020 17:00:28 +0200 Subject: 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. --- lang/qt/src/exportjob.h | 2 ++ lang/qt/src/qgpgmeexportjob.cpp | 19 +++++++++++++++---- lang/qt/src/qgpgmeexportjob.h | 5 +++++ 3 files changed, 22 insertions(+), 4 deletions(-) (limited to 'lang/qt/src') 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 @@ -58,8 +58,13 @@ public: explicit QGpgMEExportJob(GpgME::Context *context); ~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; }; } -- cgit v1.2.3