diff options
author | Andre Heinecke <[email protected]> | 2016-04-03 10:29:14 +0000 |
---|---|---|
committer | Andre Heinecke <[email protected]> | 2016-04-03 10:29:14 +0000 |
commit | 0991485170ca4ef90fd566540522027d0fc59a72 (patch) | |
tree | c70aa40bfa878a945e28cff24ca16bab7ef2543b | |
parent | Qt: Add a unit test for qgpgme (diff) | |
download | gpgme-0991485170ca4ef90fd566540522027d0fc59a72.tar.gz gpgme-0991485170ca4ef90fd566540522027d0fc59a72.zip |
Qt: Add static factor methods for protocol
* lang/qt/src/qgpgmebackend.cpp (QGpgME::openpgp, QGpgME::smime): New.
* lang/qt/src/qgpgmebackend.h: Declare.
* lang/qt/tests/t-keylist.cpp (KeyListTest::testSingleKeyListSync):
Use new functions.
--
This replaces the cryptobackendfactory functionality from libkleo.
-rw-r--r-- | lang/qt/src/qgpgmebackend.cpp | 18 | ||||
-rw-r--r-- | lang/qt/src/qgpgmebackend.h | 14 | ||||
-rw-r--r-- | lang/qt/tests/t-keylist.cpp | 3 |
3 files changed, 33 insertions, 2 deletions
diff --git a/lang/qt/src/qgpgmebackend.cpp b/lang/qt/src/qgpgmebackend.cpp index 1167daee..abecde2c 100644 --- a/lang/qt/src/qgpgmebackend.cpp +++ b/lang/qt/src/qgpgmebackend.cpp @@ -507,3 +507,21 @@ const char *QGpgME::QGpgMEBackend::enumerateProtocols(int i) const default: return 0; } } + +static QGpgME::QGpgMEBackend *gpgmeBackend; + +QGpgME::Protocol *QGpgME::openpgp() +{ + if (!gpgmeBackend) { + gpgmeBackend = new QGpgME::QGpgMEBackend(); + } + return gpgmeBackend->openpgp(); +} + +QGpgME::Protocol *QGpgME::smime() +{ + if (!gpgmeBackend) { + gpgmeBackend = new QGpgME::QGpgMEBackend(); + } + return gpgmeBackend->smime(); +} diff --git a/lang/qt/src/qgpgmebackend.h b/lang/qt/src/qgpgmebackend.h index d442fa55..16b70cf8 100644 --- a/lang/qt/src/qgpgmebackend.h +++ b/lang/qt/src/qgpgmebackend.h @@ -72,6 +72,20 @@ namespace QGpgME class CryptoConfig; class Protocol; +/** Obtain a reference to the OpenPGP Protocol. + * + * The reference is to a static object. + * @returns Refrence to the OpenPGP Protocol. + */ +Protocol *openpgp(); + +/** Obtain a reference to the smime Protocol. + * + * The reference is to a static object. + * @returns Refrence to the smime Protocol. + */ +Protocol *smime(); + class QGpgMEBackend { public: diff --git a/lang/qt/tests/t-keylist.cpp b/lang/qt/tests/t-keylist.cpp index 67ace7f5..626d0a7f 100644 --- a/lang/qt/tests/t-keylist.cpp +++ b/lang/qt/tests/t-keylist.cpp @@ -14,8 +14,7 @@ private Q_SLOTS: void testSingleKeyListSync() { - QGpgMEBackend backend; - KeyListJob *job = backend.openpgp()->keyListJob(false, false, false); + KeyListJob *job = openpgp()->keyListJob(false, false, false); std::vector<GpgME::Key> keys; GpgME::KeyListResult result = job->exec(QStringList() << QStringLiteral("[email protected]"), false, keys); |