diff options
Diffstat (limited to 'src/MultiDiskAdaptor.cc')
| -rw-r--r-- | src/MultiDiskAdaptor.cc | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/src/MultiDiskAdaptor.cc b/src/MultiDiskAdaptor.cc index 8293e9b4..c03416f7 100644 --- a/src/MultiDiskAdaptor.cc +++ b/src/MultiDiskAdaptor.cc @@ -117,7 +117,7 @@ void MultiDiskAdaptor::writeData(const unsigned char* data, uint32_t len, writing = true; fileOffset = 0; } else { - fileOffset -= (*itr)->fileEntry->getLength(); + fileOffset -= (*itr)->getFileEntry()->getLength(); } } if(!writing) { @@ -128,8 +128,8 @@ void MultiDiskAdaptor::writeData(const unsigned char* data, uint32_t len, bool MultiDiskAdaptor::isInRange(const DiskWriterEntryHandle entry, int64_t offset) const { - return entry->fileEntry->getOffset() <= offset && - offset < entry->fileEntry->getOffset()+entry->fileEntry->getLength(); + return entry->getFileEntry()->getOffset() <= offset && + offset < entry->getFileEntry()->getOffset()+entry->getFileEntry()->getLength(); } uint32_t MultiDiskAdaptor::calculateLength(const DiskWriterEntryHandle entry, @@ -137,8 +137,8 @@ uint32_t MultiDiskAdaptor::calculateLength(const DiskWriterEntryHandle entry, uint32_t rem) const { uint32_t length; - if(entry->fileEntry->getLength() < fileOffset+rem) { - length = entry->fileEntry->getLength()-fileOffset; + if(entry->getFileEntry()->getLength() < fileOffset+rem) { + length = entry->getFileEntry()->getLength()-fileOffset; } else { length = rem; } @@ -160,7 +160,7 @@ int MultiDiskAdaptor::readData(unsigned char* data, uint32_t len, int64_t offset reading = true; fileOffset = 0; } else { - fileOffset -= (*itr)->fileEntry->getLength(); + fileOffset -= (*itr)->getFileEntry()->getLength(); } } if(!reading) { @@ -205,7 +205,7 @@ string MultiDiskAdaptor::sha1Sum(int64_t offset, uint64_t length) { reading = true; fileOffset = 0; } else { - fileOffset -= (*itr)->fileEntry->getLength(); + fileOffset -= (*itr)->getFileEntry()->getLength(); } } if(!reading) { @@ -215,3 +215,14 @@ string MultiDiskAdaptor::sha1Sum(int64_t offset, uint64_t length) { ctx.digestFinal(hashValue); return Util::toHex(hashValue, 20); } + +bool MultiDiskAdaptor::fileExists() +{ + for(DiskWriterEntries::iterator itr = diskWriterEntries.begin(); + itr != diskWriterEntries.end(); itr++) { + if((*itr)->fileExists(getTopDirPath())) { + return true; + } + } + return false; +} |
