aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/local-store.hh
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2023-03-23 10:06:45 -0400
committerJohn Ericson <John.Ericson@Obsidian.Systems>2023-07-24 09:19:44 -0400
commit60d8dd7aeaf7fc022a1b207012c94180f6732b45 (patch)
treed75c4e83665fe7852938852f3d40908aa8d30784 /src/libstore/local-store.hh
parent13269ba93b7453def7084b00eb4a34ad787a7c45 (diff)
Clean up store hierarchy with `IndirectRootStore`
See the API doc comments for details.
Diffstat (limited to 'src/libstore/local-store.hh')
-rw-r--r--src/libstore/local-store.hh13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/libstore/local-store.hh b/src/libstore/local-store.hh
index 2bdd46fa2..4125cacf4 100644
--- a/src/libstore/local-store.hh
+++ b/src/libstore/local-store.hh
@@ -5,8 +5,7 @@
#include "pathlocks.hh"
#include "store-api.hh"
-#include "local-fs-store.hh"
-#include "gc-store.hh"
+#include "indirect-root-store.hh"
#include "sync.hh"
#include "util.hh"
@@ -68,7 +67,9 @@ struct LocalStoreConfig : virtual LocalFSStoreConfig
std::string doc() override;
};
-class LocalStore : public virtual LocalStoreConfig, public virtual LocalFSStore, public virtual GcStore
+class LocalStore : public virtual LocalStoreConfig
+ , public virtual IndirectRootStore
+ , public virtual GcStore
{
private:
@@ -209,6 +210,12 @@ private:
public:
+ /**
+ * Implementation of IndirectRootStore::addIndirectRoot().
+ *
+ * The weak reference merely is a symlink to `path' from
+ * /nix/var/nix/gcroots/auto/<hash of `path'>.
+ */
void addIndirectRoot(const Path & path) override;
private: