20 #ifndef BTSINGLEFILECACHE_H
21 #define BTSINGLEFILECACHE_H
36 class KTORRENT_EXPORT SingleFileCache :
public Cache
39 SingleFileCache(Torrent& tor,
const QString & tmpdir,
const QString & datadir);
40 ~SingleFileCache()
override;
42 PieceData::Ptr loadPiece(Chunk* c,Uint32 off,Uint32 length)
override;
43 PieceData::Ptr preparePiece(Chunk* c,Uint32 off,Uint32 length)
override;
44 void savePiece(PieceData::Ptr piece)
override;
45 void create()
override;
46 void close()
override;
48 void changeTmpDir(
const QString & ndir)
override;
50 Job* moveDataFiles(
const QString & ndir)
override;
52 void moveDataFilesFinished(Job* job)
override;
53 void changeOutputPath(
const QString& outputpath)
override;
54 QString getOutputPath()
const override {
return output_file;}
56 bool hasMissingFiles(QStringList & sl)
override;
57 Job* deleteDataFiles()
override;
58 Uint64 diskUsage()
override;
59 void loadFileMap()
override;
60 void saveFileMap()
override;
61 bool getMountPoints(QSet<QString>& mps)
override;
64 PieceData::Ptr createPiece(
Chunk* c,Uint64 off,Uint32 length,
bool read_only);
69 QString move_data_files_dst;