aboutsummaryrefslogtreecommitdiff
path: root/src/libutil/archive.hh
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2008-12-03 17:30:32 +0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2008-12-03 17:30:32 +0000
commit5eaf644c99c78ed89b2cab1d10d630435fd55d28 (patch)
tree8c30850890c39ad00b2f3aac825ddd6dd210ec08 /src/libutil/archive.hh
parentcdee3174190c237bbf36955a5faa3896f564b7a1 (diff)
* A simple API for parsing NAR archives.
Diffstat (limited to 'src/libutil/archive.hh')
-rw-r--r--src/libutil/archive.hh13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/libutil/archive.hh b/src/libutil/archive.hh
index 5f85e1beb..06f09cd1e 100644
--- a/src/libutil/archive.hh
+++ b/src/libutil/archive.hh
@@ -56,6 +56,19 @@ extern PathFilter defaultPathFilter;
void dumpPath(const Path & path, Sink & sink,
PathFilter & filter = defaultPathFilter);
+struct ParseSink
+{
+ virtual void createDirectory(const Path & path) { };
+
+ virtual void createRegularFile(const Path & path) { };
+ virtual void isExecutable() { };
+ virtual void receiveContents(unsigned char * data, unsigned int len) { };
+
+ virtual void createSymlink(const Path & path, const string & target) { };
+};
+
+void parseDump(ParseSink & sink, Source & source);
+
void restorePath(const Path & path, Source & source);