diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2006-11-30 17:43:04 +0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2006-11-30 17:43:04 +0000 |
commit | e2ef5e07fdc142670f7f3161d3133ff04e99d342 (patch) | |
tree | bf724d6af6f7fbe3b388fdfdd40f190da9a8378e /src/libexpr | |
parent | 5f0b9de6d837daf43c6ab26d41c829621c3ca727 (diff) |
* Refactoring. There is now an abstract interface class StoreAPI
containing functions that operate on the Nix store. One
implementation is LocalStore, which operates on the Nix store
directly. The next step, to enable secure multi-user Nix, is to
create a different implementation RemoteStore that talks to a
privileged daemon process that uses LocalStore to perform the actual
operations.
Diffstat (limited to 'src/libexpr')
-rw-r--r-- | src/libexpr/eval.cc | 4 | ||||
-rw-r--r-- | src/libexpr/primops.cc | 6 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/libexpr/eval.cc b/src/libexpr/eval.cc index 2a5019fd9..04712e74b 100644 --- a/src/libexpr/eval.cc +++ b/src/libexpr/eval.cc @@ -2,7 +2,7 @@ #include "parser.hh" #include "hash.hh" #include "util.hh" -#include "store.hh" +#include "store-api.hh" #include "derivations.hh" #include "nixexpr-ast.hh" @@ -251,7 +251,7 @@ string coerceToString(EvalState & state, Expr e, PathSet & context, if (state.srcToStore[path] != "") dstPath = state.srcToStore[path]; else { - dstPath = addToStore(path); + dstPath = store->addToStore(path); state.srcToStore[path] = dstPath; printMsg(lvlChatty, format("copied source `%1%' -> `%2%'") % path % dstPath); diff --git a/src/libexpr/primops.cc b/src/libexpr/primops.cc index 7776a38d6..d4de6027e 100644 --- a/src/libexpr/primops.cc +++ b/src/libexpr/primops.cc @@ -2,7 +2,7 @@ #include "misc.hh" #include "eval.hh" #include "globals.hh" -#include "store.hh" +#include "store-api.hh" #include "util.hh" #include "expr-to-xml.hh" #include "nixexpr-ast.hh" @@ -46,7 +46,7 @@ static Expr primImport(EvalState & state, const ATermVector & args) for (PathSet::iterator i = context.begin(); i != context.end(); ++i) { assert(isStorePath(*i)); - if (!isValidPath(*i)) + if (!store->isValidPath(*i)) throw EvalError(format("cannot import `%1%', since path `%2%' is not valid") % path % *i); if (isDerivation(*i)) @@ -390,7 +390,7 @@ static Expr primToFile(EvalState & state, const ATermVector & args) refs.insert(*i); } - Path storePath = addTextToStore(name, contents, refs); + Path storePath = store->addTextToStore(name, contents, refs); /* Note: we don't need to add `context' to the context of the result, since `storePath' itself has references to the paths |