From c28007d0407bcc3621b8266d6d77eb0d069aec35 Mon Sep 17 00:00:00 2001 From: Andre Heinecke Date: Wed, 6 Jul 2016 13:38:20 +0200 Subject: [PATCH] Cpp: Add PubkeyAlgo enum * lang/cpp/src/key.h (Subkey::PubkeyAlgo): New enum. (Subkey::publicKeyAlgorithm): Change return type. * lang/cpp/src/key.cpp (Subkey::publicKeyAlgorithm): Use enum. --- lang/cpp/src/key.cpp | 4 ++-- lang/cpp/src/key.h | 18 +++++++++++++++++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/lang/cpp/src/key.cpp b/lang/cpp/src/key.cpp index 55eb0585..9e57013a 100644 --- a/lang/cpp/src/key.cpp +++ b/lang/cpp/src/key.cpp @@ -373,9 +373,9 @@ const char *Subkey::fingerprint() const return subkey ? subkey->fpr : 0 ; } -unsigned int Subkey::publicKeyAlgorithm() const +Subkey::PubkeyAlgo Subkey::publicKeyAlgorithm() const { - return subkey ? subkey->pubkey_algo : 0 ; + return subkey ? static_cast(subkey->pubkey_algo) : AlgoUnknown; } const char *Subkey::publicKeyAlgorithmAsString() const diff --git a/lang/cpp/src/key.h b/lang/cpp/src/key.h index 7322f650..845b5dbd 100644 --- a/lang/cpp/src/key.h +++ b/lang/cpp/src/key.h @@ -205,7 +205,23 @@ public: bool isSecret() const; - unsigned int publicKeyAlgorithm() const; + /** Same as gpgme_pubkey_algo_t */ + enum PubkeyAlgo { + AlgoUnknown = 0, + AlgoRSA = 1, + AlgoRSA_E = 2, + AlgoRSA_S = 3, + AlgoELG_E = 16, + AlgoDSA = 17, + AlgoECC = 18, + AlgoELG = 20, + AlgoECDSA = 301, + AlgoECDH = 302, + AlgoEDDSA = 303, + AlgoMax = 1 << 31 + }; + + PubkeyAlgo publicKeyAlgorithm() const; /** @brief Get the public key algorithm name.