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

List:       kde-commits
Subject:    kdelibs/kabc/plugins/net
From:       Tobias Koenig <tokoe () kde ! org>
Date:       2003-05-11 13:02:02
[Download RAW message or body]

CVS commit by tokoe: 


ResourceNet creates a new file on remote server now, if it can't find
an existing now.


  M +15 -2     resourcenet.cpp   1.8
  M +3 -0      resourcenet.h   1.3


--- kdelibs/kabc/plugins/net/resourcenet.cpp  #1.7:1.8
@@ -46,5 +46,6 @@ extern "C"
 
 ResourceNet::ResourceNet( const KConfig *config )
-    : Resource( config ), mFormat( 0 )
+    : Resource( config ), mFormat( 0 ),
+      mLocalTempFile( 0 ), mUseLocalTempFile( false )
 {
   KURL url;
@@ -72,4 +73,7 @@ ResourceNet::~ResourceNet()
   delete mFormat;
   mFormat = 0;
+
+  delete mLocalTempFile;
+  mLocalTempFile = 0;
 }
 
@@ -98,4 +102,12 @@ Ticket *ResourceNet::requestSaveTicket()
 bool ResourceNet::doOpen()
 {
+  if ( !KIO::NetAccess::exists( mUrl ) ) {
+    mLocalTempFile = new KTempFile();
+    mLocalTempFile->setAutoDelete( true );
+    mUseLocalTempFile = true;
+    mTempFile = mLocalTempFile->name();
+    return true;
+  }
+
   return KIO::NetAccess::download( mUrl, mTempFile );
 }
@@ -103,4 +115,5 @@ bool ResourceNet::doOpen()
 void ResourceNet::doClose()
 {
+  if ( !mUseLocalTempFile )
   KIO::NetAccess::removeTempFile( mTempFile );
 }

--- kdelibs/kabc/plugins/net/resourcenet.h  #1.2:1.3
@@ -29,4 +29,5 @@
 
 class QTimer;
+class KTempFile;
 
 namespace KABC {
@@ -85,4 +86,6 @@ class ResourceNet : public Resource
     KURL mUrl;
     QString mTempFile;
+    KTempFile *mLocalTempFile;
+    bool mUseLocalTempFile;
 };
 


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

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