diff options
Diffstat (limited to 'src/core/model/GpgSubKey.cpp')
-rw-r--r-- | src/core/model/GpgSubKey.cpp | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/src/core/model/GpgSubKey.cpp b/src/core/model/GpgSubKey.cpp index 767f9c5d..e63816b1 100644 --- a/src/core/model/GpgSubKey.cpp +++ b/src/core/model/GpgSubKey.cpp @@ -27,5 +27,77 @@ */ #include "core/model/GpgSubKey.h" +GpgFrontend::GpgSubKey::GpgSubKey() = default; + GpgFrontend::GpgSubKey::GpgSubKey(gpgme_subkey_t subkey) : _subkey_ref(subkey, [&](gpgme_subkey_t subkey) {}) {} + +GpgFrontend::GpgSubKey::GpgSubKey(GpgSubKey&& o) noexcept { + swap(_subkey_ref, o._subkey_ref); +} + +GpgFrontend::GpgSubKey& GpgFrontend::GpgSubKey::operator=( + GpgSubKey&& o) noexcept { + swap(_subkey_ref, o._subkey_ref); + return *this; +}; + +bool GpgFrontend::GpgSubKey::operator==(const GpgSubKey& o) const { + return GetFingerprint() == o.GetFingerprint(); +} + +std::string GpgFrontend::GpgSubKey::GetID() const { return _subkey_ref->keyid; } + +std::string GpgFrontend::GpgSubKey::GetFingerprint() const { + return _subkey_ref->fpr; +} + +std::string GpgFrontend::GpgSubKey::GetPubkeyAlgo() const { + return gpgme_pubkey_algo_name(_subkey_ref->pubkey_algo); +} + +unsigned int GpgFrontend::GpgSubKey::GetKeyLength() const { + return _subkey_ref->length; +} + +bool GpgFrontend::GpgSubKey::IsHasEncryptionCapability() const { + return _subkey_ref->can_encrypt; +} + +bool GpgFrontend::GpgSubKey::IsHasSigningCapability() const { + return _subkey_ref->can_sign; +} + +bool GpgFrontend::GpgSubKey::IsHasCertificationCapability() const { + return _subkey_ref->can_certify; +} + +bool GpgFrontend::GpgSubKey::IsHasAuthenticationCapability() const { + return _subkey_ref->can_authenticate; +} + +bool GpgFrontend::GpgSubKey::IsPrivateKey() const { + return _subkey_ref->secret; +} + +bool GpgFrontend::GpgSubKey::IsExpired() const { return _subkey_ref->expired; } + +bool GpgFrontend::GpgSubKey::IsRevoked() const { return _subkey_ref->revoked; } + +bool GpgFrontend::GpgSubKey::IsDisabled() const { + return _subkey_ref->disabled; +} + +bool GpgFrontend::GpgSubKey::IsSecretKey() const { return _subkey_ref->secret; } + +bool GpgFrontend::GpgSubKey::IsCardKey() const { + return _subkey_ref->is_cardkey; +} + +boost::posix_time::ptime GpgFrontend::GpgSubKey::GetCreateTime() const { + return boost::posix_time::from_time_t(_subkey_ref->timestamp); +} + +boost::posix_time::ptime GpgFrontend::GpgSubKey::GetExpireTime() const { + return boost::posix_time::from_time_t(_subkey_ref->expires); +} |