diff options
| author | Andre Heinecke <[email protected]> | 2018-04-19 09:56:15 +0000 | 
|---|---|---|
| committer | Andre Heinecke <[email protected]> | 2018-04-19 09:56:15 +0000 | 
| commit | d65d6329319bff8cc555999fc92a20e151762a10 (patch) | |
| tree | 6dc804fc6fcbe4b097af62eec084f716bd93fd49 /lang/cpp/src/key.cpp | |
| parent | cpp: Add origin and last_update (diff) | |
| download | gpgme-d65d6329319bff8cc555999fc92a20e151762a10.tar.gz gpgme-d65d6329319bff8cc555999fc92a20e151762a10.zip | |
cpp: Add origin and last_update to UserID
* NEWS: Mention it.
* lang/cpp/src/key.cpp, lang/cpp/src/key.h (UserID::lastUpdate),
(UserID::origin): New.
(gpgme_origin_to_pp_origin): New helper.
Diffstat (limited to 'lang/cpp/src/key.cpp')
| -rw-r--r-- | lang/cpp/src/key.cpp | 56 | 
1 files changed, 37 insertions, 19 deletions
| diff --git a/lang/cpp/src/key.cpp b/lang/cpp/src/key.cpp index 838033c5..034286f0 100644 --- a/lang/cpp/src/key.cpp +++ b/lang/cpp/src/key.cpp @@ -967,6 +967,42 @@ Error UserID::revoke()      return ret;  } +static Key::Origin gpgme_origin_to_pp_origin (const unsigned int origin) +{ +    switch (origin) { +        case GPGME_KEYORG_KS: +            return Key::OriginKS; +        case GPGME_KEYORG_DANE: +            return Key::OriginDane; +        case GPGME_KEYORG_WKD: +            return Key::OriginWKD; +        case GPGME_KEYORG_URL: +            return Key::OriginURL; +        case GPGME_KEYORG_FILE: +            return Key::OriginFile; +        case GPGME_KEYORG_SELF: +            return Key::OriginSelf; +        case GPGME_KEYORG_OTHER: +            return Key::OriginOther; +        case GPGME_KEYORG_UNKNOWN: +        default: +            return Key::OriginUnknown; +    } +} + +Key::Origin UserID::origin() const +{ +    if (isNull()) { +        return Key::OriginUnknown; +    } +    return gpgme_origin_to_pp_origin(uid->origin); +} + +time_t UserID::lastUpdate() const +{ +    return static_cast<time_t>(uid ? uid->last_update : 0); +} +  Error Key::addUid(const char *uid)  {      if (isNull()) { @@ -986,25 +1022,7 @@ 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; -    } +    return gpgme_origin_to_pp_origin(key->origin);  }  time_t Key::lastUpdate() const | 
