[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdepim/libkleo/backends/qgpgme
From:       Marc Mutz <mutz () kde ! org>
Date:       2008-04-21 11:18:14
Message-ID: 1208776694.847251.26016.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 799365 by mutz:

Make resetDataObjects() act only on QIODeviceDataProvider-backed data objects, and \
rename accordingly

 M  +2 -4      qgpgmedecryptjob.cpp  
 M  +2 -4      qgpgmedecryptverifyjob.cpp  
 M  +2 -2      qgpgmedownloadjob.cpp  
 M  +3 -5      qgpgmeencryptjob.cpp  
 M  +13 -6     qgpgmejob.cpp  
 M  +2 -2      qgpgmejob.h  
 M  +5 -7      qgpgmesignencryptjob.cpp  
 M  +3 -5      qgpgmesignjob.cpp  
 M  +2 -4      qgpgmeverifydetachedjob.cpp  
 M  +2 -2      qgpgmeverifyopaquejob.cpp  


--- trunk/KDE/kdepim/libkleo/backends/qgpgme/qgpgmedecryptjob.cpp #799364:799365
@@ -91,7 +91,7 @@
     hookupContextToEventLoopInteractor();
 
     if ( const GpgME::Error err = mCtx->startDecryption( *mInData, *mOutData ) ) {
-        resetDataObjects();
+        resetQIODeviceDataObjects();
         doThrow( err, i18n("Can't start decrypt job") );
     }
 }
@@ -99,9 +99,7 @@
 void Kleo::QGpgMEDecryptJob::doOperationDoneEvent( const GpgME::Error & ) {
     const GpgME::DecryptionResult res = mCtx->decryptionResult();
     const QByteArray plainText = outData();
-#ifndef KLEO_SYNCHRONOUS_API_HOTFIX
-    resetDataObjects();
-#endif
+    resetQIODeviceDataObjects();
     emit result( res, plainText );
 }
 
--- trunk/KDE/kdepim/libkleo/backends/qgpgme/qgpgmedecryptverifyjob.cpp \
#799364:799365 @@ -92,7 +92,7 @@
     hookupContextToEventLoopInteractor();
 
     if ( const GpgME::Error err = mCtx->startCombinedDecryptionAndVerification( \
                *mInData, *mOutData ) ) {
-        resetDataObjects();
+        resetQIODeviceDataObjects();
         doThrow( err, i18n("Can't start combined decrypt/verify operation") );
     }
 }
@@ -101,9 +101,7 @@
     const GpgME::DecryptionResult dr = mCtx->decryptionResult();
     const GpgME::VerificationResult vr = mCtx->verificationResult();
     const QByteArray plainText = outData();
-#ifndef KLEO_SYNCHRONOUS_API_HOTFIX
-    resetDataObjects();
-#endif
+    resetQIODeviceDataObjects();
     emit result( dr, vr, plainText );
 }
 
--- trunk/KDE/kdepim/libkleo/backends/qgpgme/qgpgmedownloadjob.cpp #799364:799365
@@ -63,7 +63,7 @@
   const GpgME::Error err = mCtx->startPublicKeyExport( patterns(), *mOutData );
 
   if ( err ) {
-    resetDataObjects();
+    resetQIODeviceDataObjects();
     deleteLater();
   }
   return err;
@@ -83,7 +83,7 @@
   const GpgME::Error err = mCtx->startPublicKeyExport( patterns(), *mOutData );
 
   if ( err ) {
-    resetDataObjects();
+    resetQIODeviceDataObjects();
     deleteLater();
   }
   return err;
--- trunk/KDE/kdepim/libkleo/backends/qgpgme/qgpgmeencryptjob.cpp #799364:799365
@@ -106,7 +106,7 @@
   const GpgME::Context::EncryptionFlags flags =
     alwaysTrust ? GpgME::Context::AlwaysTrust : GpgME::Context::None;
   if ( const GpgME::Error err = mCtx->startEncryption( recipients, *mInData, \
                *mOutData, flags ) ) {
-      resetDataObjects();
+      resetQIODeviceDataObjects();
       doThrow( err, i18n("Can't start encrypt job") );
   }
 }
@@ -133,16 +133,14 @@
   waitForFinished();
   ciphertext = outData();
   mResult = mCtx->encryptionResult();
-  resetDataObjects();
+  resetQIODeviceDataObjects();
   return mResult;
 }
 
 void Kleo::QGpgMEEncryptJob::doOperationDoneEvent( const GpgME::Error & ) {
   mResult = mCtx->encryptionResult();
   const QByteArray ciphertext = outData();
-#ifndef KLEO_SYNCHRONOUS_API_HOTFIX
-  resetDataObjects();
-#endif
+  resetQIODeviceDataObjects();
   emit result( mResult, ciphertext );
 }
 
--- trunk/KDE/kdepim/libkleo/backends/qgpgme/qgpgmejob.cpp #799364:799365
@@ -133,15 +133,22 @@
 Kleo::QGpgMEJob::~QGpgMEJob() {
   InvarianceChecker check( this );
   delete mCtx; mCtx = 0;
-  resetDataObjects();
+  delete mOutData; mOutData = 0;
+  delete mOutDataDataProvider; mOutDataDataProvider = 0;
+  delete mInData; mInData = 0;
+  delete mInDataDataProvider; mInDataDataProvider = 0;
   deleteAllPatterns();
 }
 
-void Kleo::QGpgMEJob::resetDataObjects() {
-  delete mInData; mInData = 0;
-  delete mInDataDataProvider; mInDataDataProvider = 0;
-  delete mOutData; mOutData = 0;
-  delete mOutDataDataProvider; mOutDataDataProvider = 0;
+void Kleo::QGpgMEJob::resetQIODeviceDataObjects() {
+    if ( const QGpgME::QByteArrayDataProvider * const dp = \
dynamic_cast<QGpgME::QByteArrayDataProvider*>( mOutDataDataProvider ) ) { +        \
delete mOutData; mOutData = 0; +        delete mOutDataDataProvider; \
mOutDataDataProvider = 0; +    }
+    if ( const QGpgME::QByteArrayDataProvider * const dp = \
dynamic_cast<QGpgME::QByteArrayDataProvider*>( mInDataDataProvider ) ) { +        \
delete mInData; mInData = 0; +        delete mInDataDataProvider; mInDataDataProvider \
= 0; +    }
 }
 
 void Kleo::QGpgMEJob::deleteAllPatterns() {
--- trunk/KDE/kdepim/libkleo/backends/qgpgme/qgpgmejob.h #799364:799365
@@ -103,9 +103,9 @@
     void createOutData();
     /*! Creates a GpgME::Data/QGpgME::QByteArrayDataProvider pair associated with \a \
out */  void createOutData( const boost::shared_ptr<QIODevice> & out );
-    /*! Destroys all data objects (call this before the result signal
+    /*! Destroys all data objects that hold shared_ptr's to QIODevice's (call this \
before the result signal  is emitted, or on error return from start()). */
-    void resetDataObjects();
+    void resetQIODeviceDataObjects();
     /*! Creates a GpgME::Data/QGpgME::QIODeviceDataProvider pair,
       associated with \a in */
     void createInData( const boost::shared_ptr<QIODevice> & in );
--- trunk/KDE/kdepim/libkleo/backends/qgpgme/qgpgmesignencryptjob.cpp #799364:799365
@@ -118,7 +118,7 @@
   const GpgME::Context::EncryptionFlags flags =
     alwaysTrust ? GpgME::Context::AlwaysTrust : GpgME::Context::None ;
   if ( const GpgME::Error err = mCtx->startCombinedSigningAndEncryption( recipients, \
                *mInData, *mOutData, flags ) ) {
-      resetDataObjects();
+      resetQIODeviceDataObjects();
       doThrow( err, i18n("Can't start combined sign-encrypt job") );
   }
 }
@@ -133,7 +133,7 @@
     } catch ( const GpgME::Exception & e ) {
         mResult.first = GpgME::SigningResult( e.error() );
         mResult.second = GpgME::EncryptionResult();
-        resetDataObjects();
+        resetQIODeviceDataObjects();
         throw;
     }
 }
@@ -145,7 +145,7 @@
 				  QByteArray & cipherText ) {
   if ( const GpgME::Error err = setup( signers, recipients, plainText, alwaysTrust ) \
                ) {
     mResult = std::make_pair( GpgME::SigningResult( err ), GpgME::EncryptionResult() \
                );
-    resetDataObjects();
+    resetQIODeviceDataObjects();
     return mResult;
   }
 
@@ -154,7 +154,7 @@
   cipherText = outData();
   mResult.first = mCtx->signingResult();
   mResult.second = mCtx->encryptionResult();
-  resetDataObjects();
+  resetQIODeviceDataObjects();
   return mResult;
 }
 
@@ -162,9 +162,7 @@
   mResult.first = mCtx->signingResult();
   mResult.second = mCtx->encryptionResult();
   const QByteArray cipherText = outData();
-#ifndef KLEO_SYNCHRONOUS_API_HOTFIX
-  resetDataObjects();
-#endif
+  resetQIODeviceDataObjects();
   emit result( mResult.first, mResult.second, cipherText );
 }
 
--- trunk/KDE/kdepim/libkleo/backends/qgpgme/qgpgmesignjob.cpp #799364:799365
@@ -114,7 +114,7 @@
     hookupContextToEventLoopInteractor();
 
     if ( const GpgME::Error err = mCtx->startSigning( *mInData, *mOutData, mode ) ) \
                {
-        resetDataObjects();
+        resetQIODeviceDataObjects();
         doThrow( err, i18n("Can't start sign job") );
     }
 }
@@ -143,16 +143,14 @@
 
   signature = outData();
   mResult = mCtx->signingResult();
-  resetDataObjects();
+  resetQIODeviceDataObjects();
   return mResult;
 }
 
 void Kleo::QGpgMESignJob::doOperationDoneEvent( const GpgME::Error & ) {
   mResult = mCtx->signingResult();
   const QByteArray cipherText = outData();
-#ifndef KLEO_SYNCHRONOUS_API_HOTFIX
-  resetDataObjects();
-#endif
+  resetQIODeviceDataObjects();
   emit result( mResult, cipherText );
 }
 
--- trunk/KDE/kdepim/libkleo/backends/qgpgme/qgpgmeverifydetachedjob.cpp \
#799364:799365 @@ -95,16 +95,14 @@
   hookupContextToEventLoopInteractor();
 
   if ( const GpgME::Error err = mCtx->startDetachedSignatureVerification( *mInData, \
                *mOutData ) ) {
-      resetDataObjects();
+      resetQIODeviceDataObjects();
       doThrow( err, i18n("Can't start detached signature verification") );
   }
 }
 
 void Kleo::QGpgMEVerifyDetachedJob::doOperationDoneEvent( const GpgME::Error & ) {
     const GpgME::VerificationResult vr = mCtx->verificationResult();
-#ifndef KLEO_SYNCHRONOUS_API_HOTFIX
-    resetDataObjects();
-#endif
+    resetQIODeviceDataObjects();
     emit result( vr );
 }
 
--- trunk/KDE/kdepim/libkleo/backends/qgpgme/qgpgmeverifyopaquejob.cpp #799364:799365
@@ -91,7 +91,7 @@
     hookupContextToEventLoopInteractor();
 
     if ( const GpgME::Error err = mCtx->startOpaqueSignatureVerification( *mInData, \
                *mOutData ) ) {
-        resetDataObjects();
+        resetQIODeviceDataObjects();
         doThrow( err, i18n("Can't start opaque signature verification") );
     }
 }
@@ -99,7 +99,7 @@
 void Kleo::QGpgMEVerifyOpaqueJob::doOperationDoneEvent( const GpgME::Error & ) {
     const GpgME::VerificationResult vr = mCtx->verificationResult();
     const QByteArray plainText = outData();
-    resetDataObjects();
+    resetQIODeviceDataObjects();
     emit result( vr, plainText );
 }
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic