aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/store-api.hh
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2023-04-17 11:58:47 -0400
committerJohn Ericson <John.Ericson@Obsidian.Systems>2023-08-02 15:46:38 -0400
commit3b592c880ae76707cc832e5f227e261be29661bf (patch)
tree8ffcf145ccc3a9cceaaca004e64f0fa8915a3a9e /src/libstore/store-api.hh
parent3723363697b3908a2f58dce3e706783b1c783414 (diff)
Add infra for experimental store implemenations
This is analogous to that for experimental settings and flags that we have also added as of late.
Diffstat (limited to 'src/libstore/store-api.hh')
-rw-r--r--src/libstore/store-api.hh15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/libstore/store-api.hh b/src/libstore/store-api.hh
index 3758c730f..f9029ade1 100644
--- a/src/libstore/store-api.hh
+++ b/src/libstore/store-api.hh
@@ -109,13 +109,28 @@ struct StoreConfig : public Config
virtual ~StoreConfig() { }
+ /**
+ * The name of this type of store.
+ */
virtual const std::string name() = 0;
+ /**
+ * Documentation for this type of store.
+ */
virtual std::string doc()
{
return "";
}
+ /**
+ * An experimental feature this type store is gated, if it is to be
+ * experimental.
+ */
+ virtual std::optional<ExperimentalFeature> experimentalFeature() const
+ {
+ return std::nullopt;
+ }
+
const PathSetting storeDir_{this, settings.nixStore,
"store",
R"(