#include "store-api.hh" namespace nix { static std::string uriScheme = "dummy://"; struct DummyStore : public Store { DummyStore(const Params & params) : Store(params) { } string getUri() override { return uriScheme; } void queryPathInfoUncached(const StorePath & path, Callback> callback) noexcept override { callback(nullptr); } std::optional queryPathFromHashPart(const std::string & hashPart) override { unsupported("queryPathFromHashPart"); } void addToStore(const ValidPathInfo & info, Source & source, RepairFlag repair, CheckSigsFlag checkSigs) override { unsupported("addToStore"); } StorePath addToStore(const string & name, const Path & srcPath, FileIngestionMethod method, HashType hashAlgo, PathFilter & filter, RepairFlag repair) override { unsupported("addToStore"); } StorePath addTextToStore(const string & name, const string & s, const StorePathSet & references, RepairFlag repair) override { unsupported("addTextToStore"); } void narFromPath(const StorePath & path, Sink & sink) override { unsupported("narFromPath"); } void ensurePath(const StorePath & path) override { unsupported("ensurePath"); } BuildResult buildDerivation(const StorePath & drvPath, const BasicDerivation & drv, BuildMode buildMode) override { unsupported("buildDerivation"); } }; static RegisterStoreImplementation regStore([]( const std::string & uri, const Store::Params & params) -> std::shared_ptr { if (uri != uriScheme) return nullptr; return std::make_shared(params); }); }