5#include "source-accessor.hh"
17 virtual void isExecutable() = 0;
30 virtual void createDirectory(
const CanonPath & path) = 0;
40 virtual void createSymlink(
const CanonPath & path,
const std::string & target) = 0;
68 void createDirectory(
const CanonPath & path)
override { }
69 void createSymlink(
const CanonPath & path,
const std::string & target)
override { }
80 std::filesystem::path dstPath;
81 bool startFsync =
false;
83 explicit RestoreSink(
bool startFsync)
84 : startFsync{startFsync}
87 void createDirectory(
const CanonPath & path)
override;
93 void createSymlink(
const CanonPath & path,
const std::string & target)
override;
106 RegularFileSink(
Sink & sink) : sink(sink) { }
108 void createDirectory(
const CanonPath & path)
override
113 void createSymlink(
const CanonPath & path,
const std::string & target)
override
Definition canon-path.hh:41
ref< SourceAccessor > accessor
Definition lexer.l:4655
virtual void preallocateContents(uint64_t size)
Definition fs-sink.hh:22
virtual void createHardlink(const CanonPath &path, const CanonPath &target)=0
virtual void createRegularFile(const CanonPath &path, std::function< void(CreateRegularFileSink &)>)=0
void createRegularFile(const CanonPath &path, std::function< void(CreateRegularFileSink &)>) override
Definition fs-sink.cc:182
void createRegularFile(const CanonPath &path, std::function< void(CreateRegularFileSink &)>) override
Definition fs-sink.cc:167
void createRegularFile(const CanonPath &path, std::function< void(CreateRegularFileSink &)>) override
Definition fs-sink.cc:107
Definition serialise.hh:20
Definition source-accessor.hh:42