diff options
Diffstat (limited to 'lang/cpp/src/key.cpp')
-rw-r--r-- | lang/cpp/src/key.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lang/cpp/src/key.cpp b/lang/cpp/src/key.cpp index f9cc2b60..b893a7cd 100644 --- a/lang/cpp/src/key.cpp +++ b/lang/cpp/src/key.cpp @@ -1083,6 +1083,29 @@ const char *UserID::Signature::policyURL() const return nullptr; } +bool UserID::Signature::isTrustSignature() const +{ + return sig && sig->trust_depth > 0; +} + +TrustSignatureTrust UserID::Signature::trustValue() const +{ + if (!sig || !isTrustSignature()) { + return TrustSignatureTrust::None; + } + return sig->trust_value >= 120 ? TrustSignatureTrust::Complete : TrustSignatureTrust::Partial; +} + +unsigned int UserID::Signature::trustDepth() const +{ + return sig ? sig->trust_depth : 0; +} + +const char *UserID::Signature::trustScope() const +{ + return sig ? sig->trust_scope : nullptr; +} + std::string UserID::addrSpecFromString(const char *userid) { if (!userid) { |