about summary refs log tree commit diff
path: root/src/libutil/archive.hh
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2008-12-03T17·30+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2008-12-03T17·30+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 5f85e1beb0..06f09cd1ec 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);