diff options
Diffstat (limited to 'src/gpg/result_analyse/EncryptResultAnalyse.cpp')
-rw-r--r-- | src/gpg/result_analyse/EncryptResultAnalyse.cpp | 35 |
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; + +} |