diff options
| author | Ingo Klöcker <[email protected]> | 2021-12-15 12:23:26 +0100 |
|---|---|---|
| committer | Ingo Klöcker <[email protected]> | 2021-12-15 15:00:07 +0100 |
| commit | 619579bb172579d766956b5d1690d18934fd5986 (patch) | |
| tree | 636c380369ab9cecc3d3ed6f240bbfcd5809ca3c /lang/qt/src/qgpgmeimportjob.cpp | |
| parent | qt: Avoid test failure when test is run multiple times (diff) | |
| download | gpgme-619579bb172579d766956b5d1690d18934fd5986.tar.gz gpgme-619579bb172579d766956b5d1690d18934fd5986.zip | |
qt: Allow specifying an import filter when importing keys
* lang/qt/src/importjob.cpp (struct ImportJobPrivate): Add member
m_importFilter.
* lang/qt/src/importjob.cpp, lang/qt/src/importjob.h (class ImportJob):
Add member functions setImportFilter and importFilter.
* lang/qt/src/qgpgmeimportjob.cpp (import_qba): Add arg importFilter
and adjust the callers. Set import filter context flag.
* lang/qt/tests/t-import.cpp (ImportTest): Add member function
testImportWithImportFilter.
--
GnuPG-bug-id: 5739
Diffstat (limited to 'lang/qt/src/qgpgmeimportjob.cpp')
| -rw-r--r-- | lang/qt/src/qgpgmeimportjob.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/lang/qt/src/qgpgmeimportjob.cpp b/lang/qt/src/qgpgmeimportjob.cpp index ad5c2aee..110250c9 100644 --- a/lang/qt/src/qgpgmeimportjob.cpp +++ b/lang/qt/src/qgpgmeimportjob.cpp @@ -40,11 +40,9 @@ #include "dataprovider.h" -#include "context.h" -#include "data.h" -#include "key.h" - -#include <cassert> +#include <gpgme++/context.h> +#include <gpgme++/data.h> +#include <gpgme++/key.h> using namespace QGpgME; using namespace GpgME; @@ -72,8 +70,12 @@ static const char *originToString(Key::Origin origin) return (it != std::end(mapping)) ? it->second : nullptr; } -static QGpgMEImportJob::result_type import_qba(Context *ctx, const QByteArray &certData, Key::Origin keyOrigin, const QString &keyOriginUrl) +static QGpgMEImportJob::result_type import_qba(Context *ctx, const QByteArray &certData, const QString &importFilter, + Key::Origin keyOrigin, const QString &keyOriginUrl) { + if (!importFilter.isEmpty()) { + ctx->setFlag("import-filter", importFilter.toStdString().c_str()); + } if (keyOrigin != Key::OriginUnknown) { if (const auto origin = originToString(keyOrigin)) { std::string value{origin}; @@ -96,13 +98,13 @@ static QGpgMEImportJob::result_type import_qba(Context *ctx, const QByteArray &c Error QGpgMEImportJob::start(const QByteArray &certData) { - run(std::bind(&import_qba, std::placeholders::_1, certData, keyOrigin(), keyOriginUrl())); + run(std::bind(&import_qba, std::placeholders::_1, certData, importFilter(), keyOrigin(), keyOriginUrl())); return Error(); } GpgME::ImportResult QGpgME::QGpgMEImportJob::exec(const QByteArray &keyData) { - const result_type r = import_qba(context(), keyData, keyOrigin(), keyOriginUrl()); + const result_type r = import_qba(context(), keyData, importFilter(), keyOrigin(), keyOriginUrl()); resultHook(r); return mResult; } |
