diff options
author | Ingo Klöcker <[email protected]> | 2022-02-02 10:53:29 +0000 |
---|---|---|
committer | Ingo Klöcker <[email protected]> | 2022-02-03 14:56:30 +0000 |
commit | ca1c30b6fa29a7a1f18ecda14375b47893a0c1a3 (patch) | |
tree | 586442f43da31beb14ab2e13d727398b812e5015 /lang/qt/tests | |
parent | qt: Add helper for converting QStringList to vector of strings (diff) | |
download | gpgme-ca1c30b6fa29a7a1f18ecda14375b47893a0c1a3.tar.gz gpgme-ca1c30b6fa29a7a1f18ecda14375b47893a0c1a3.zip |
qt: Add job to import keys given by key ids
* lang/qt/src/receivekeysjob.h, lang/qt/src/qgpgmereceivekeysjob.h,
lang/qt/src/qgpgmereceivekeysjob.cpp: New.
* lang/qt/src/protocol.h (class Protocol): Add pure virtual member
function receiveKeysJob.
* lang/qt/src/protocol_p.h (Protocol::receiveKeysJob): Implement it.
* lang/qt/src/job.cpp, lang/qt/src/Makefile.am: Update accordingly.
* lang/qt/tests/run-receivekeysjob.cpp: New.
* lang/qt/tests/Makefile.am: Add new test runner.
--
This job allows importing keys that are given by their key ids (or
fingerprints) from keyservers as with gpg's recv-keys command.
GnuPG-bug-id: 5808
Diffstat (limited to 'lang/qt/tests')
-rw-r--r-- | lang/qt/tests/Makefile.am | 3 | ||||
-rw-r--r-- | lang/qt/tests/run-receivekeysjob.cpp | 65 |
2 files changed, 67 insertions, 1 deletions
diff --git a/lang/qt/tests/Makefile.am b/lang/qt/tests/Makefile.am index 18dd989a..6c082b07 100644 --- a/lang/qt/tests/Makefile.am +++ b/lang/qt/tests/Makefile.am @@ -73,6 +73,7 @@ t_import_SOURCES = t-import.cpp $(support_src) run_exportjob_SOURCES = run-exportjob.cpp run_importjob_SOURCES = run-importjob.cpp run_keyformailboxjob_SOURCES = run-keyformailboxjob.cpp +run_receivekeysjob_SOURCES = run-receivekeysjob.cpp nodist_t_keylist_SOURCES = $(moc_files) @@ -83,7 +84,7 @@ noinst_PROGRAMS = \ t-keylist t-keylocate t-ownertrust t-tofuinfo t-encrypt \ run-keyformailboxjob t-wkspublish t-verify t-various t-config t-remarks \ t-trustsignatures t-changeexpiryjob t-wkdlookup t-import run-importjob \ - run-exportjob + run-exportjob run-receivekeysjob CLEANFILES = secring.gpg pubring.gpg pubring.kbx trustdb.gpg dirmngr.conf \ gpg-agent.conf pubring.kbx~ S.gpg-agent gpg.conf pubring.gpg~ \ diff --git a/lang/qt/tests/run-receivekeysjob.cpp b/lang/qt/tests/run-receivekeysjob.cpp new file mode 100644 index 00000000..0dc1575b --- /dev/null +++ b/lang/qt/tests/run-receivekeysjob.cpp @@ -0,0 +1,65 @@ +/* + run-receivekeysjob.cpp + + This file is part of QGpgME's test suite. + Copyright (c) 2022 by 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, + version 2, as published by the Free Software Foundation. + + 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. +*/ + +#ifdef HAVE_CONFIG_H + #include "config.h" +#endif + +#include <importresult.h> +#include <protocol.h> +#include <receivekeysjob.h> + +#include <QCoreApplication> +#include <QDebug> + +#include <iostream> + +int main(int argc, char **argv) +{ + GpgME::initializeLibrary(); + + if (argc < 2) { + std::cerr << "Usage: " << argv[0] << " KEYID..." << std::endl; + return 1; + } + + QCoreApplication app(argc, argv); + const QStringList keyIds = qApp->arguments().mid(1); + + auto job = QGpgME::openpgp()->receiveKeysJob(); + const auto result = job->exec(keyIds); + + std::cout << "Result: " << result.error().asString() << std::endl; + std::cout << "Details:\n" << result << std::endl; + + return 0; +} |