diff options
| author | Andre Heinecke <[email protected]> | 2016-10-11 12:13:15 +0000 | 
|---|---|---|
| committer | Andre Heinecke <[email protected]> | 2016-10-11 12:13:15 +0000 | 
| commit | 54f94b14e2bb9b38ffd89f509406bfbd012da632 (patch) | |
| tree | f187604b38e6117b419abaab3a0e45f17349f99b /lang/cpp/src | |
| parent | Add NEWS for cpp and qt, bump cpp version (diff) | |
| download | gpgme-54f94b14e2bb9b38ffd89f509406bfbd012da632.tar.gz gpgme-54f94b14e2bb9b38ffd89f509406bfbd012da632.zip | |
cpp: Add API for gpgme_addrspec_from_uid
* lang/cpp/src/key.cpp (UserID::addrSpecFromString): New static
function to expose addrspec from uid.
(UserID::addrSpec): New. Get addrSpec from Userid.
* NEWS: Update accordingly.
Diffstat (limited to 'lang/cpp/src')
| -rw-r--r-- | lang/cpp/src/key.cpp | 16 | ||||
| -rw-r--r-- | lang/cpp/src/key.h | 15 | 
2 files changed, 31 insertions, 0 deletions
| diff --git a/lang/cpp/src/key.cpp b/lang/cpp/src/key.cpp index 4531a2bf..947405fb 100644 --- a/lang/cpp/src/key.cpp +++ b/lang/cpp/src/key.cpp @@ -878,6 +878,22 @@ const char *UserID::Signature::policyURL() const      return 0;  } +std::string UserID::addrSpecFromString(const char *userid) +{ +    if (!userid) { +        return std::string(); +    } +    char *normalized = gpgme_addrspec_from_uid (userid); +    std::string ret(normalized); +    gpgme_free(normalized); +    return ret; +} + +std::string UserID::addrSpec() const +{ +    return addrSpecFromString(email()); +} +  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 f193093c..3f596a82 100644 --- a/lang/cpp/src/key.h +++ b/lang/cpp/src/key.h @@ -320,6 +320,21 @@ public:       * @returns The TOFU stats or a null TofuInfo.       */      GpgME::TofuInfo tofuInfo() const; + +    /*! Wrapper around gpgme_addrspec_from_uid. +     * +     * The input string should match the format of +     * a user id string. +     * +     * @returns a normalized mail address if found +     * or an empty string. */ +    static std::string addrSpecFromString(const char *uid); + +    /*! Wrapper around gpgme_addrspec_from_uid. +     * +     * @returns a normalized mail address for this userid +     * or an empty string. */ +    std::string addrSpec() const;  private:      shared_gpgme_key_t key;      gpgme_user_id_t uid; | 
