aboutsummaryrefslogtreecommitdiff
path: root/src/libutil/abstractsettingtojson.hh
diff options
context:
space:
mode:
authorregnat <rg@regnat.ovh>2020-09-16 09:06:35 +0200
committerregnat <rg@regnat.ovh>2020-09-16 13:53:09 +0200
commite0817cbcdcdbec81d7ce2f5141b4f99bbc2bece7 (patch)
treed0eaeba8b40c8cf77caeaea49ab4effcf250925b /src/libutil/abstractsettingtojson.hh
parent93c0e14a308d513cf61daa7a003417e42a7dc2f8 (diff)
Don't include nlohmann/json.hpp in config.hh
Instead make a separate header with the template implementation of `BaseSetting<T>::toJSONObj` that can be included where needed
Diffstat (limited to 'src/libutil/abstractsettingtojson.hh')
-rw-r--r--src/libutil/abstractsettingtojson.hh15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/libutil/abstractsettingtojson.hh b/src/libutil/abstractsettingtojson.hh
new file mode 100644
index 000000000..b3fbc84f7
--- /dev/null
+++ b/src/libutil/abstractsettingtojson.hh
@@ -0,0 +1,15 @@
+#pragma once
+
+#include <nlohmann/json.hpp>
+#include "config.hh"
+
+namespace nix {
+template<typename T>
+std::map<std::string, nlohmann::json> BaseSetting<T>::toJSONObject()
+{
+ auto obj = AbstractSetting::toJSONObject();
+ obj.emplace("value", value);
+ obj.emplace("defaultValue", defaultValue);
+ return obj;
+}
+}