aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndre Heinecke <[email protected]>2016-04-03 10:29:14 +0000
committerAndre Heinecke <[email protected]>2016-04-03 10:29:14 +0000
commit0991485170ca4ef90fd566540522027d0fc59a72 (patch)
treec70aa40bfa878a945e28cff24ca16bab7ef2543b
parentQt: Add a unit test for qgpgme (diff)
downloadgpgme-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.cpp18
-rw-r--r--lang/qt/src/qgpgmebackend.h14
-rw-r--r--lang/qt/tests/t-keylist.cpp3
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);