swap libconfig++ for json in configuration parsing

Parse the configuration file as json and not libconfig++.

Change-Id: Ic3e71cc810195387617b545566cf757c61c71942
Signed-off-by: Patrick Venture <venture@google.com>
diff --git a/main.cpp b/main.cpp
index 5289101..4ff67c5 100644
--- a/main.cpp
+++ b/main.cpp
@@ -16,14 +16,15 @@
 
 #include "config.h"
 
+#include "build/buildjson.hpp"
 #include "conf.hpp"
 #include "interfaces.hpp"
 #include "pid/builder.hpp"
-#include "pid/builderconfig.hpp"
+#include "pid/buildjson.hpp"
 #include "pid/pidthread.hpp"
 #include "pid/zone.hpp"
 #include "sensors/builder.hpp"
-#include "sensors/builderconfig.hpp"
+#include "sensors/buildjson.hpp"
 #include "sensors/manager.hpp"
 #include "threads/busthread.hpp"
 #include "util.hpp"
@@ -37,6 +38,7 @@
 #include <sdbusplus/bus.hpp>
 #include <thread>
 #include <unordered_map>
+#include <utility>
 #include <vector>
 
 #if CONFIGURE_DBUS
@@ -104,8 +106,14 @@
     {
         try
         {
-            mgmr = buildSensorsFromConfig(configPath);
-            zones = buildZonesFromConfig(configPath, mgmr, modeControlBus);
+            auto jsonData = parseValidateJson(configPath);
+            mgmr = buildSensors(buildSensorsFromJson(jsonData));
+
+            std::map<int64_t, PIDConf> pidConfig;
+            std::map<int64_t, struct ZoneConfig> zoneConfig;
+            std::tie(pidConfig, zoneConfig) = buildPIDsFromJson(jsonData);
+
+            zones = buildZones(pidConfig, zoneConfig, mgmr, modeControlBus);
         }
         catch (const std::exception& e)
         {