diff options
Diffstat (limited to '')
-rw-r--r-- | src/gpg/model/GpgKey.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gpg/model/GpgKey.h b/src/gpg/model/GpgKey.h index 3bebcd41..5ddfa94b 100644 --- a/src/gpg/model/GpgKey.h +++ b/src/gpg/model/GpgKey.h @@ -144,9 +144,16 @@ class GpgKey { explicit operator gpgme_key_t() const { return _key_ref.get(); } + [[nodiscard]] GpgKey copy() const { + gpgme_key_ref(_key_ref.get()); + auto* _new_key_ref = _key_ref.get(); + return GpgKey(std::move(_new_key_ref)); + } + private: struct _key_ref_deletor { void operator()(gpgme_key_t _key) { + DLOG(INFO) << "Called" << _key; if (_key != nullptr) gpgme_key_unref(_key); } }; |