/* */ #include "CopyDiskAdaptor.h" #include "Util.h" #include "message.h" void CopyDiskAdaptor::onDownloadComplete() { closeFile(); fixFilename(); openFile(); } void CopyDiskAdaptor::fixFilename() { int64_t offset = 0; for(FileEntries::iterator itr = fileEntries.begin(); itr != fileEntries.end(); itr++) { if(!(*itr)->isExtracted() && (*itr)->isRequested()) { string topDirPath = storeDir+"/"+topDir; (*itr)->setupDir(topDirPath); string destFilePath = topDirPath+"/"+(*itr)->getPath(); logger->info(MSG_WRITING_FILE, destFilePath.c_str()); Util::rangedFileCopy(destFilePath, getFilePath(), offset, (*itr)->getLength()); (*itr)->setExtracted(true); } offset += (*itr)->getLength(); } } string CopyDiskAdaptor::getFilePath() { return storeDir+"/"+tempFilename; }