[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: extragear/network/ktorrent/libbtcore
From: Joris Guisson <joris.guisson () gmail ! com>
Date: 2008-07-29 18:31:57
Message-ID: 1217356317.852959.30525.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 839295 by guisson:
Deleting data files is now done in a background job
M +2 -0 CMakeLists.txt
M +2 -1 diskio/cache.h
M +2 -2 diskio/chunkmanager.cpp
M +1 -1 diskio/chunkmanager.h
A diskio/deletedatafilesjob.cpp [License: GPL (v2+)]
A diskio/deletedatafilesjob.h [License: GPL (v2+)]
M +8 -3 diskio/multifilecache.cpp
M +1 -1 diskio/multifilecache.h
M +6 -2 diskio/singlefilecache.cpp
M +1 -1 diskio/singlefilecache.h
--- trunk/extragear/network/ktorrent/libbtcore/CMakeLists.txt #839294:839295
@@ -152,6 +152,7 @@
diskio/multifilecache.cpp
diskio/preallocationthread.cpp
diskio/movedatafilesjob.cpp
+ diskio/deletedatafilesjob.cpp
tracker/httptracker.cpp
tracker/tracker.cpp
@@ -294,6 +295,7 @@
./diskio/singlefilecache.h
./diskio/preallocationthread.h
./diskio/movedatafilesjob.h
+ ./diskio/deletedatafilesjob.h
./diskio/chunkmanager.h
./diskio/dndfile.h
./diskio/chunk.h
--- trunk/extragear/network/ktorrent/libbtcore/diskio/cache.h #839294:839295
@@ -160,8 +160,9 @@
/**
* Delete all data files, in case of multi file torrents
* empty directories should also be deleted.
+ * @return The job doing the delete
*/
- virtual void deleteDataFiles() = 0;
+ virtual KJob* deleteDataFiles() = 0;
/**
* Move some files to a new location
--- trunk/extragear/network/ktorrent/libbtcore/diskio/chunkmanager.cpp #839294:839295
@@ -1211,9 +1211,9 @@
chunksLeft();
}
- void ChunkManager::deleteDataFiles()
+ KJob* ChunkManager::deleteDataFiles()
{
- cache->deleteDataFiles();
+ return cache->deleteDataFiles();
}
Uint64 ChunkManager::diskUsage()
--- trunk/extragear/network/ktorrent/libbtcore/diskio/chunkmanager.h #839294:839295
@@ -326,7 +326,7 @@
void dndMissingFiles();
/// Delete all data files
- void deleteDataFiles();
+ KJob* deleteDataFiles();
/// Are all not deselected chunks downloaded.
bool completed() const;
--- trunk/extragear/network/ktorrent/libbtcore/diskio/multifilecache.cpp #839294:839295
@@ -36,6 +36,7 @@
#include "dndfile.h"
#include "preallocationthread.h"
#include "movedatafilesjob.h"
+#include "deletedatafilesjob.h"
#include <kdebug.h>
@@ -841,8 +842,9 @@
}
}
- void MultiFileCache::deleteDataFiles()
+ KJob* MultiFileCache::deleteDataFiles()
{
+ DeleteDataFilesJob* job = new DeleteDataFilesJob();
for (Uint32 i = 0;i < tor.getNumFiles();i++)
{
TorrentFile & tf = tor.getFile(i);
@@ -850,12 +852,15 @@
if (!tf.doNotDownload())
{
// first delete the file
- bt::Delete(fpath);
+ job->addFile(fpath);
}
// check for subdirectories
- DeleteEmptyDirs(output_dir,tf.getUserModifiedPath());
+ job->addEmptyDirectoryCheck(output_dir,tf.getUserModifiedPath());
}
+
+ job->start();
+ return job;
}
Uint64 MultiFileCache::diskUsage()
--- trunk/extragear/network/ktorrent/libbtcore/diskio/multifilecache.h #839294:839295
@@ -61,7 +61,7 @@
virtual void changeOutputPath(const QString & outputpath);
virtual void preallocateDiskSpace(PreallocationThread* prealloc);
virtual bool hasMissingFiles(QStringList & sl);
- virtual void deleteDataFiles();
+ virtual KJob* deleteDataFiles();
virtual Uint64 diskUsage();
virtual void loadFileMap();
virtual void saveFileMap();
--- trunk/extragear/network/ktorrent/libbtcore/diskio/singlefilecache.cpp #839294:839295
@@ -32,6 +32,7 @@
#include "chunk.h"
#include "cachefile.h"
#include "preallocationthread.h"
+#include "deletedatafilesjob.h"
namespace bt
@@ -250,9 +251,12 @@
return false;
}
- void SingleFileCache::deleteDataFiles()
+ KJob* SingleFileCache::deleteDataFiles()
{
- bt::Delete(output_file);
+ DeleteDataFilesJob* job = new DeleteDataFilesJob();
+ job->addFile(output_file);
+ job->start();
+ return job;
}
Uint64 SingleFileCache::diskUsage()
--- trunk/extragear/network/ktorrent/libbtcore/diskio/singlefilecache.h #839294:839295
@@ -56,7 +56,7 @@
virtual QString getOutputPath() const {return output_file;}
virtual void preallocateDiskSpace(PreallocationThread* prealloc);
virtual bool hasMissingFiles(QStringList & sl);
- virtual void deleteDataFiles();
+ virtual KJob* deleteDataFiles();
virtual Uint64 diskUsage();
virtual void loadFileMap();
virtual void saveFileMap();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic