Files
dali_cpp/include/bridge_provisioning.hpp
T

38 lines
927 B
C++

#pragma once
#include "bridge_model.hpp"
#include <string>
#include <vector>
#ifdef ESP_PLATFORM
extern "C" {
#include "esp_err.h"
}
#else
using esp_err_t = int;
#endif
struct BridgeRuntimeConfig {
std::vector<BridgeModel> 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_;
};