GpgFrontend Project
A Free, Powerful, Easy-to-Use, Compact, Cross-Platform, and Installation-Free OpenPGP(pgp) Crypto Tool.
GpgSignature.h
1
29#ifndef GPGFRONTEND_GPGSIGNATURE_H
30#define GPGFRONTEND_GPGSIGNATURE_H
31
32#include <boost/date_time/gregorian/greg_date.hpp>
33#include <boost/date_time/posix_time/conversion.hpp>
34
35#include "core/GpgConstants.h"
36
37namespace GpgFrontend {
38
43class GPGFRONTEND_CORE_EXPORT GpgSignature {
44 public:
50 [[nodiscard]] gpgme_validity_t GetValidity() const;
51
57 [[nodiscard]] gpgme_error_t GetStatus() const;
58
64 [[nodiscard]] gpgme_error_t GetSummary() const;
65
71 [[nodiscard]] std::string GetPubkeyAlgo() const;
72
78 [[nodiscard]] std::string GetHashAlgo() const;
79
85 [[nodiscard]] boost::posix_time::ptime GetCreateTime() const;
86
92 [[nodiscard]] boost::posix_time::ptime GetExpireTime() const;
93
99 [[nodiscard]] std::string GetFingerprint() const;
100
106
112
118 explicit GpgSignature(gpgme_signature_t sig);
119
125
130 GpgSignature(const GpgSignature &) = delete;
131
137 GpgSignature &operator=(GpgSignature &&) noexcept;
138
144 GpgSignature &operator=(const GpgSignature &) = delete;
145
146 private:
147 using KeySignatrueRefHandler =
148 std::unique_ptr<struct _gpgme_signature,
149 std::function<void(gpgme_signature_t)>>;
150
151 KeySignatrueRefHandler signature_ref_ = nullptr;
152};
153} // namespace GpgFrontend
154
155#endif // GPGFRONTEND_GPGSIGNATURE_H
Definition: GpgSignature.h:43
~GpgSignature()
Destroy the Gpg Signature object.
GpgSignature()
Construct a new Gpg Signature object.
GpgSignature(GpgSignature &&) noexcept
Construct a new Gpg Signature object.
Definition: CoreCommonUtil.cpp:29