Cpp: Expose gpgme_pubkey_algo_name
authorAndre Heinecke <aheinecke@intevation.de>
Wed, 6 Jul 2016 13:07:34 +0000 (15:07 +0200)
committerAndre Heinecke <aheinecke@intevation.de>
Wed, 6 Jul 2016 13:07:34 +0000 (15:07 +0200)
* lang/cpp/src/key.cpp (Subkey::publicKeyAlgorithmAsString): New
static variant.
* lang/cpp/src/key.h: Declare function. Clarify comment about name
mismatch.

lang/cpp/src/key.cpp
lang/cpp/src/key.h

index 9e57013..d99c5ec 100644 (file)
@@ -383,6 +383,15 @@ const char *Subkey::publicKeyAlgorithmAsString() const
     return gpgme_pubkey_algo_name(subkey ? subkey->pubkey_algo : (gpgme_pubkey_algo_t)0);
 }
 
+/* static */
+const char *Subkey::publicKeyAlgorithmAsString(PubkeyAlgo algo)
+{
+    if (algo == AlgoUnknown) {
+        return NULL;
+    }
+    return gpgme_pubkey_algo_name(static_cast<gpgme_pubkey_algo_t>(algo));
+}
+
 std::string Subkey::algoName() const
 {
     char *gpgmeStr;
index 845b5db..bb0487b 100644 (file)
@@ -233,11 +233,16 @@ public:
     */
     const char *publicKeyAlgorithmAsString() const;
 
+    /** @brief Same as publicKeyAlgorithmAsString but static. */
+    static const char *publicKeyAlgorithmAsString(PubkeyAlgo algo);
+
     /**
        @brief Get the key algo string like GnuPG 2.1 prints it.
 
        This returns combinations of size and algorithm. Like
-       bp512 or rsa2048
+       bp512 or rsa2048. Misnamed because publicKeyAlgorithmAsString
+       already used the older pubkey_algo_name.
+       Actually uses gpgme_pubkey_algo_string.
 
        @returns the key algorithm as string. Empty string on error.
     */