diff options
Diffstat (limited to 'lang/cpp/src/key.cpp')
| -rw-r--r-- | lang/cpp/src/key.cpp | 28 | 
1 files changed, 28 insertions, 0 deletions
| diff --git a/lang/cpp/src/key.cpp b/lang/cpp/src/key.cpp index 4f7ec54b..3cc26a77 100644 --- a/lang/cpp/src/key.cpp +++ b/lang/cpp/src/key.cpp @@ -906,6 +906,34 @@ std::string UserID::addrSpec() const      return uid->address;  } +Error UserID::revoke() +{ +    if (isNull()) { +        return Error::fromCode(GPG_ERR_GENERAL); +    } +    auto ctx = Context::createForProtocol(parent().protocol()); +    if (!ctx) { +        return Error::fromCode(GPG_ERR_INV_ENGINE); +    } +    Error ret = ctx->revUid(key, id()); +    delete ctx; +    return ret; +} + +Error Key::addUid(const char *uid) +{ +    if (isNull()) { +        return Error::fromCode(GPG_ERR_GENERAL); +    } +    auto ctx = Context::createForProtocol(protocol()); +    if (!ctx) { +        return Error::fromCode(GPG_ERR_INV_ENGINE); +    } +    Error ret = ctx->addUid(key, uid); +    delete ctx; +    return ret; +} +  std::ostream &operator<<(std::ostream &os, const UserID &uid)  {      os << "GpgME::UserID("; | 
