#pragma once #include #include using json = nlohmann::json; /** * Given json data, validate the minimum. * The json data must be valid, and must contain two keys: * sensors, and zones. * * @param[in] data - the json data. * @return nothing - throws exceptions on invalid bits. */ void validateJson(const json& data); /** * Given a json configuration file, parse it. * * There must be at least one sensor, and one zone. * That one zone must contain at least one PID. * * @param[in] path - path to the configuration * @return the json data. */ json parseValidateJson(const std::string& path);