64WireFormatGenerator dumpPath(
Path path);
69WireFormatGenerator dumpPathAndGetMtime(
Path path, time_t & mtime);
79 explicit PreparedDump(
Path rootPath) : rootPath(std::move(rootPath)) {}
81 virtual ~PreparedDump() =
default;
89 virtual WireFormatGenerator
dump()
const = 0;
100WireFormatGenerator dumpString(std::string_view s);
117 FileHandle(FileHandle
const &) =
delete;
118 FileHandle & operator=(FileHandle &) =
delete;
129 virtual ~FileHandle() =
default;
142 virtual void createSymlink(
const std::string & name,
const std::string & target) = 0;
150using Entry = std::variant<File, Symlink, Directory>;
169WireFormatGenerator dump(Entry nar);
184using Entry = std::variant<File, Symlink, Directory>;
189 uint64_t offset, size;
199 std::map<std::string, Entry> contents;
202Entry create(
Source & source);
210void restorePath(
const Path & path,
Source & source);
216WireFormatGenerator copyNAR(
Source & source);
220inline constexpr std::string_view narVersionMagic1 =
"nix-archive-1";
222inline constexpr std::string_view caseHackSuffix =
"~nix~case~hack~";
std::function< bool(const Path &path)> PathFilter
Definition file-system.hh:318
Definition generator.hh:236
virtual void receiveContents(std::string_view data)=0
Definition archive.hh:110
virtual box_ptr< FileHandle > createRegularFile(const std::string &name, uint64_t size, bool executable)=0
virtual WireFormatGenerator dump() const =0
Definition serialise.hh:66
Definition archive.hh:165
Definition archive.hh:153
Definition archive.hh:160
Definition archive.hh:198
Definition archive.hh:187
Definition archive.hh:193
std::string Path
Definition types.hh:28