about summary refs log tree commit diff
path: root/src/libstore/store-api.hh
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2007-02-20T23·17+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2007-02-20T23·17+0000
commitb824a1daeefd1611c8d84432dc0b2b38f24bbbfd (patch)
tree85e67cde3c6efea8a1ecd9170c09bc66ac248852 /src/libstore/store-api.hh
parent3390c1be76f648ac0b18199c6204a32d1d6d5fbb (diff)
* Start of `nix-store --export' operation for serialising a store
  path.  This is like `nix-store --dump', only it also dumps the
  meta-information of the store path (references, deriver).  Will add
  a `--sign' flag later to add a cryptographic signature, which we
  will use for exchanging store paths between build farm machines in a
  secure manner.

Diffstat (limited to 'src/libstore/store-api.hh')
-rw-r--r--src/libstore/store-api.hh8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libstore/store-api.hh b/src/libstore/store-api.hh
index 361e7aaa1aee..6a1de616ca59 100644
--- a/src/libstore/store-api.hh
+++ b/src/libstore/store-api.hh
@@ -7,6 +7,7 @@
 #include <boost/shared_ptr.hpp>
 
 #include "hash.hh"
+#include "serialise.hh"
 
 
 namespace nix {
@@ -91,6 +92,13 @@ public:
     virtual Path addTextToStore(const string & suffix, const string & s,
         const PathSet & references) = 0;
 
+    /* Export a store path, that is, create a NAR dump of the store
+       path and append its references and its deriver.  Optionally, a
+       cryptographic signature (created by OpenSSL) of the preceding
+       data is attached. */
+    virtual void exportPath(const Path & path, bool sign,
+        Sink & sink) = 0;
+
     /* Ensure that the output paths of the derivation are valid.  If
        they are already valid, this is a no-op.  Otherwise, validity
        can be reached in two ways.  First, if the output paths have