aboutsummaryrefslogtreecommitdiffstats
path: root/lang/cpp/src/key.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lang/cpp/src/key.cpp')
-rw-r--r--lang/cpp/src/key.cpp23
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) {