diff options
author | Andre Heinecke <[email protected]> | 2018-04-19 08:44:01 +0000 |
---|---|---|
committer | Andre Heinecke <[email protected]> | 2018-04-19 08:46:34 +0000 |
commit | 0adaf7bafd352f1c3a1e797493780150e3bb0adc (patch) | |
tree | 5d6ebe94de32a44eb1f8e4ffe2532a49a698fb0f | |
parent | core: Remove leftover debug output. (diff) | |
download | gpgme-0adaf7bafd352f1c3a1e797493780150e3bb0adc.tar.gz gpgme-0adaf7bafd352f1c3a1e797493780150e3bb0adc.zip |
cpp: Add origin and last_update
* NEWS: mention interface change.
* lang/cpp/src/key.cpp (Key::origin, Key::lastUpdate): New.
* lang/cpp/src/key.h (Key::Origin): New enum.
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | lang/cpp/src/key.cpp | 31 | ||||
-rw-r--r-- | lang/cpp/src/key.h | 21 |
3 files changed, 56 insertions, 0 deletions
@@ -1,6 +1,10 @@ Noteworthy changes in version 1.11.1 (unreleased) ------------------------------------------------- + * Interface changes relative to the 1.10.0 release: + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + cpp: Key::origin NEW. + cpp: Key::lastUpdate NEW. Noteworthy changes in version 1.11.0 (2018-04-18) ------------------------------------------------- diff --git a/lang/cpp/src/key.cpp b/lang/cpp/src/key.cpp index 0e86a19e..838033c5 100644 --- a/lang/cpp/src/key.cpp +++ b/lang/cpp/src/key.cpp @@ -981,6 +981,37 @@ Error Key::addUid(const char *uid) return ret; } +Key::Origin Key::origin() const +{ + if (isNull()) { + return OriginUnknown; + } + switch (key->origin) { + case GPGME_KEYORG_KS: + return OriginKS; + case GPGME_KEYORG_DANE: + return OriginDane; + case GPGME_KEYORG_WKD: + return OriginWKD; + case GPGME_KEYORG_URL: + return OriginURL; + case GPGME_KEYORG_FILE: + return OriginFile; + case GPGME_KEYORG_SELF: + return OriginSelf; + case GPGME_KEYORG_OTHER: + return OriginOther; + case GPGME_KEYORG_UNKNOWN: + default: + return OriginUnknown; + } +} + +time_t Key::lastUpdate() const +{ + return static_cast<time_t>(key ? key->last_update : 0); +} + std::ostream &operator<<(std::ostream &os, const UserID &uid) { os << "GpgME::UserID("; diff --git a/lang/cpp/src/key.h b/lang/cpp/src/key.h index c3c711c1..07ddc256 100644 --- a/lang/cpp/src/key.h +++ b/lang/cpp/src/key.h @@ -178,6 +178,27 @@ public: */ static Key locate(const char *mbox); + /* @enum Origin + * @brief The Origin of the key. */ + enum Origin : unsigned int { + OriginUnknown = 0, + OriginKS = 1, + OriginDane = 3, + OriginWKD = 4, + OriginURL = 5, + OriginFile = 6, + OriginSelf = 7, + OriginOther = 31, + }; + /*! Get the origin of the key. + * + * @returns the Origin. */ + Origin origin() const; + + /*! Get the last update time. + * + * @returns the last update time. */ + time_t lastUpdate() const; private: gpgme_key_t impl() const { |