29 lines
675 B
C++
29 lines
675 B
C++
#pragma once
|
|
|
|
#include <memory>
|
|
#include <vector>
|
|
|
|
#include "file.h"
|
|
#include "hash.h"
|
|
|
|
// eine liste an gleichen Dateien, die gemerged werden sollen
|
|
class MergeFile {
|
|
public:
|
|
MergeFile(std::shared_ptr<File> file, Hash&& h);
|
|
|
|
const Hash& getHash() const;
|
|
|
|
// try to add a file, returns true on success
|
|
bool addFile(std::shared_ptr<File> f, const Hash& h);
|
|
|
|
std::vector<std::shared_ptr<File>>& getFiles();
|
|
const std::vector<std::shared_ptr<File>>& getFiles() const;
|
|
|
|
// make sure the main file, which should be the base for the other files is stored at the begin of the vector
|
|
void updateMainFile();
|
|
|
|
private:
|
|
std::vector<std::shared_ptr<File>> files;
|
|
Hash hash;
|
|
};
|