dedup/src/files.cpp

41 lines
721 B
C++

#include "files.h"
Files::Files() {
}
void Files::addNewFile(std::shared_ptr<File> file, Hash hash) {
// find first matching file
for(uint32_t i = 0; i < files.size(); ++i) {
MergeFile& mf = files.at(i);
if(mf.addFile(file, std::move(hash))) {
// successfully added
return;
}
}
// no suitable mergefile found
files.emplace_back(file, std::move(hash));
}
bool Files::hasDuplicates() const {
for(const MergeFile& mf : files) {
if(mf.getFiles().size() > 1) {
return true;
}
}
return false;
}
uint32_t Files::getFileCount() const {
return files.size();
}
std::vector<MergeFile>& Files::getFiles() {
return files;
}
const std::vector<MergeFile>& Files::getFiles() const {
return files;
}