| #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 |