| #pragma once |
| |
| #include <nlohmann/json.hpp> |
| |
| #include <string> |
| |
| 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); |