blob: cf2768bd70ddd0d1cc0cfea87eacd02d679d9c5a [file] [log] [blame]
#include "tlbmc/store/factory.h"
#include <cstddef>
#include <memory>
#include <utility>
#include <vector>
#include "absl/status/status.h"
#include "absl/status/statusor.h"
#include "absl/strings/string_view.h"
#include "g3/macros.h"
#include "nlohmann/json_fwd.hpp"
#include "tlbmc/configs/entity_config.h"
#include "tlbmc/configs/entity_config_json_impl.h"
#include "fru.pb.h"
namespace milotic_tlbmc {
absl::Status EntityConfigReaderImpl::LoadEntityConfig(
absl::string_view config_location) {
ECCLESIA_ASSIGN_OR_RETURN(
config_list_,
EntityConfigJsonImpl::ParseJsonFilesIntoConfigList(config_location));
return absl::OkStatus();
}
absl::StatusOr<std::unique_ptr<EntityConfig>>
EntityConfigReaderImpl::CreateEntityConfig(const RawFruTable& fru_table,
size_t ad_hoc_fru_count) {
return EntityConfigJsonImpl::Create(std::move(config_list_), fru_table,
ad_hoc_fru_count);
}
const std::vector<nlohmann::json>&
EntityConfigReaderImpl::GetConfig() const {
return config_list_;
}
} // namespace milotic_tlbmc