aboutsummaryrefslogtreecommitdiffstats
path: root/src/core/model/GpgSubKey.cpp
diff options
context:
space:
mode:
authorSaturn&Eric <[email protected]>2022-05-08 13:14:24 +0000
committerGitHub <[email protected]>2022-05-08 13:14:24 +0000
commitf722eec9a898c97e233619a50f6f1a94fef6f94c (patch)
tree26757206ff3e139a10968bd8ae6147ca1a1182a7 /src/core/model/GpgSubKey.cpp
parentMerge pull request #50 from saturneric/develop-2.0.5 (diff)
parentdoc: update translate document. (diff)
downloadGpgFrontend-f722eec9a898c97e233619a50f6f1a94fef6f94c.tar.gz
GpgFrontend-f722eec9a898c97e233619a50f6f1a94fef6f94c.zip
Merge pull request #54 from saturneric/develop-2.0.6v2.0.6
Develop 2.0.6
Diffstat (limited to 'src/core/model/GpgSubKey.cpp')
-rw-r--r--src/core/model/GpgSubKey.cpp72
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);
+}