diff options
Diffstat (limited to 'src/libstore/store-api.hh')
-rw-r--r-- | src/libstore/store-api.hh | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/libstore/store-api.hh b/src/libstore/store-api.hh index 3057106ec142..f6bbc9a84e18 100644 --- a/src/libstore/store-api.hh +++ b/src/libstore/store-api.hh @@ -5,6 +5,7 @@ #include "crypto.hh" #include "lru-cache.hh" #include "sync.hh" +#include "globals.hh" #include <atomic> #include <limits> @@ -537,7 +538,7 @@ protected: }; -class LocalFSStore : public Store +class LocalFSStore : public virtual Store { public: const Path rootDir; @@ -576,12 +577,12 @@ void checkStoreName(const string & name); /* Copy a path from one store to another. */ void copyStorePath(ref<Store> srcStore, ref<Store> dstStore, - const Path & storePath, bool repair = false); + const Path & storePath, bool repair = false, bool dontCheckSigs = false); /* Copy the closure of the specified paths from one store to another. */ void copyClosure(ref<Store> srcStore, ref<Store> dstStore, - const PathSet & storePaths, bool repair = false); + const PathSet & storePaths, bool repair = false, bool dontCheckSigs = false); /* Remove the temporary roots file for this process. Any temporary @@ -604,12 +605,17 @@ void removeTempRoots(); If ‘uri’ is empty, it defaults to ‘direct’ or ‘daemon’ depending on whether the user has write access to the local Nix store/database. set to true *unless* you're going to collect garbage. */ -ref<Store> openStoreAt(const std::string & uri); +ref<Store> openStore(const std::string & uri = getEnv("NIX_REMOTE")); -/* Open the store indicated by the ‘NIX_REMOTE’ environment variable. */ -ref<Store> openStore(); +enum StoreType { + tDaemon, + tLocal, + tOther +}; + +StoreType getStoreType(const std::string & uri = getEnv("NIX_REMOTE"), const std::string & stateDir = settings.nixStateDir); /* Return the default substituter stores, defined by the ‘substituters’ option and various legacy options like |