From e2ef5e07fdc142670f7f3161d3133ff04e99d342 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 30 Nov 2006 17:43:04 +0000 Subject: * 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. --- src/libexpr/eval.cc | 4 ++-- src/libexpr/primops.cc | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'src/libexpr') diff --git a/src/libexpr/eval.cc b/src/libexpr/eval.cc index 2a5019fd9a22..04712e74b564 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 7776a38d6528..d4de6027e404 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 -- cgit 1.4.1