aboutsummaryrefslogtreecommitdiffstats
path: root/src/core/model/GpgSubKey.cpp
diff options
context:
space:
mode:
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);
+}