[Pkg-gnupg-commit] [gpgme] 49/412: Qt: Add static factor methods for protocol

Daniel Kahn Gillmor dkg at fifthhorseman.net
Thu Sep 22 21:26:12 UTC 2016


This is an automated email from the git hooks/post-receive script.

dkg pushed a commit to branch master
in repository gpgme.

commit 0991485170ca4ef90fd566540522027d0fc59a72
Author: Andre Heinecke <aheinecke at intevation.de>
Date:   Sun Apr 3 02:29:14 2016 -0800

    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.
---
 lang/qt/src/qgpgmebackend.cpp | 18 ++++++++++++++++++
 lang/qt/src/qgpgmebackend.h   | 14 ++++++++++++++
 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 1167dae..abecde2 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 d442fa5..16b70cf 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 67ace7f..626d0a7 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("alfa at example.net"),
                                                 false, keys);

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/gpgme.git



More information about the Pkg-gnupg-commit mailing list