23 #include <kleo/decryptverifyjob.h>
24 #include <kleo/importjob.h>
25 #include <kleo/verifydetachedjob.h>
26 #include <kleo/verifyopaquejob.h>
36 using namespace GpgME;
37 using namespace MessageViewer;
38 using boost::shared_ptr;
48 Kleo::VerifyDetachedJob* job,
52 kDebug() <<
"Starting detached verification job";
53 connect( job, SIGNAL(result(GpgME::VerificationResult)),
54 SLOT(verificationResult(GpgME::VerificationResult)) );
55 GpgME::Error err = job->start( signature, signedData );
57 return VerificationResult( err );
58 mEventLoop->
exec( QEventLoop::ExcludeUserInputEvents );
59 return mVerificationResult;
63 Kleo::VerifyOpaqueJob * job,
67 kDebug() <<
"Starting opaque verification job";
69 SLOT(verificationResult(GpgME::VerificationResult,
QByteArray)) );
70 GpgME::Error err = job->start( signedData );
73 return VerificationResult( err );
75 mEventLoop->
exec( QEventLoop::ExcludeUserInputEvents );
77 return mVerificationResult;
81 Kleo::DecryptVerifyJob * job,
85 kDebug() <<
"Starting decryption job";
86 connect( job, SIGNAL(result(GpgME::DecryptionResult,GpgME::VerificationResult,
QByteArray)),
87 SLOT(decryptResult(GpgME::DecryptionResult,GpgME::VerificationResult,
QByteArray)) );
88 GpgME::Error err = job->start( cipherText );
91 return std::make_pair( DecryptionResult( err ), VerificationResult( err ) );
93 mEventLoop->
exec( QEventLoop::ExcludeUserInputEvents );
95 return std::make_pair( mDecryptResult, mVerificationResult );
100 connect( job, SIGNAL(result(GpgME::ImportResult)), SLOT(importResult(GpgME::ImportResult)) );
101 GpgME::Error err = job->start( certData );
103 return ImportResult( err );
104 mEventLoop->
exec( QEventLoop::ExcludeUserInputEvents );
105 return mImportResult;
108 void KleoJobExecutor::verificationResult(
const GpgME::VerificationResult & result)
110 kDebug() <<
"Detached verification job finished";
111 Kleo::Job * job =
dynamic_cast<Kleo::Job*
>(
sender() );
113 mVerificationResult = result;
114 mAuditLogError = job->auditLogError();
115 mAuditLog = job->auditLogAsHtml();
119 void KleoJobExecutor::verificationResult(
const GpgME::VerificationResult & result,
const QByteArray & plainText)
121 kDebug() <<
"Opaque verification job finished";
122 Kleo::Job * job =
dynamic_cast<Kleo::Job*
>(
sender() );
124 mVerificationResult = result;
126 mAuditLogError = job->auditLogError();
127 mAuditLog = job->auditLogAsHtml();
131 void KleoJobExecutor::decryptResult(
132 const GpgME::DecryptionResult & decryptionresult,
133 const GpgME::VerificationResult & verificationresult,
136 kDebug() <<
"Decryption job finished";
137 Kleo::Job * job =
dynamic_cast<Kleo::Job*
>(
sender() );
139 mVerificationResult = verificationresult;
140 mDecryptResult = decryptionresult;
142 mAuditLogError = job->auditLogError();
143 mAuditLog = job->auditLogAsHtml();
147 void KleoJobExecutor::importResult(
const GpgME::ImportResult & result)
149 Kleo::Job * job =
dynamic_cast<Kleo::Job*
>(
sender() );
151 mImportResult = result;
152 mAuditLogError = job->auditLogError();
153 mAuditLog = job->auditLogAsHtml();
QString auditLogAsHtml() const
GpgME::VerificationResult exec(Kleo::VerifyDetachedJob *job, const QByteArray &signature, const QByteArray &signedData)
int exec(QFlags< QEventLoop::ProcessEventsFlag > flags)
void setObjectName(const QString &name)
bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)