aboutsummaryrefslogtreecommitdiffstats
path: root/src/gpg/result_analyse/EncryptResultAnalyse.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpg/result_analyse/EncryptResultAnalyse.cpp')
-rw-r--r--src/gpg/result_analyse/EncryptResultAnalyse.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/gpg/result_analyse/EncryptResultAnalyse.cpp b/src/gpg/result_analyse/EncryptResultAnalyse.cpp
new file mode 100644
index 00000000..f41b88a5
--- /dev/null
+++ b/src/gpg/result_analyse/EncryptResultAnalyse.cpp
@@ -0,0 +1,35 @@
+//
+// Created by eric on 2021/6/9.
+//
+
+#include "gpg/result_analyse/EncryptResultAnalyse.h"
+
+EncryptResultAnalyse::EncryptResultAnalyse(gpgme_error_t error, gpgme_encrypt_result_t result) {
+
+ if(result == nullptr) {
+ return;
+ }
+
+ stream << "# Encrypt Report: " << endl << "-----" << endl;
+
+ if(gpgme_err_code(error) == GPG_ERR_NO_ERROR) {
+ stream << "Status: Encrypt Success" << endl;
+ }
+ else {
+ stream << "Status:" << gpgme_strerror(error) << endl;
+ stream << "Invalid Recipients: " << endl;
+ setStatus(0);
+ auto inv_reci = result->invalid_recipients;
+ while(inv_reci != nullptr) {
+ stream << "Fingerprint: " << inv_reci->fpr << endl;
+ stream << "Reason: " << gpgme_strerror(inv_reci->reason) << endl;
+ stream << endl;
+
+ inv_reci = inv_reci->next;
+ }
+ }
+
+ stream << "-----" << endl;
+ stream << endl;
+
+}