#pragma once #include "bridge_model.hpp" #include #include #ifdef ESP_PLATFORM extern "C" { #include "esp_err.h" } #else using esp_err_t = int; #endif struct BridgeRuntimeConfig { std::vector models; DaliValue::Object metadata; static BridgeRuntimeConfig fromJson(const DaliValue::Object& json); DaliValue::Object toJson() const; }; class BridgeProvisioningStore { public: explicit BridgeProvisioningStore(std::string nvsNamespace = "dali_bridge") : nvsNamespace_(std::move(nvsNamespace)) {} esp_err_t save(const BridgeRuntimeConfig& config) const; esp_err_t load(BridgeRuntimeConfig* config) const; esp_err_t clear() const; esp_err_t saveObject(const char* key, const DaliValue::Object& object) const; esp_err_t loadObject(const char* key, DaliValue::Object* object) const; esp_err_t clearKey(const char* key) const; private: std::string nvsNamespace_; };