| #ifndef THIRD_PARTY_MILOTIC_EXTERNAL_CC_TLBMC_DETERMINISTIC_BMC_OFFLINE_CONFIG_PARSER_OFFLINE_CONFIG_PARSER_INTERFACE_H_ |
| #define THIRD_PARTY_MILOTIC_EXTERNAL_CC_TLBMC_DETERMINISTIC_BMC_OFFLINE_CONFIG_PARSER_OFFLINE_CONFIG_PARSER_INTERFACE_H_ |
| |
| #include <string> |
| |
| #include "bus_topology.pb.h" |
| #include "offline_data.pb.h" |
| #include "absl/status/statusor.h" |
| #include "tlbmc/deterministic_bmc/offline_config_parser/proto_reader.h" |
| #include "fru_i2c.pb.h" |
| |
| namespace deterministic_bmc { |
| |
| // Interface for parsing the uhmm offline config on BMC. |
| class ConfigParserInterface { |
| public: |
| struct ConfigParserOptions { |
| std::string uhmm_offline_data_path_txtpb; |
| std::string uhmm_offline_data_path_pb; |
| ProtoFormat uhmm_offline_data_proto_format = ProtoFormat::kBinaryProto; |
| }; |
| |
| virtual ~ConfigParserInterface() = default; |
| virtual absl::StatusOr<uhmm::I2cRoot> GetI2cRoot() const = 0; |
| virtual absl::StatusOr<uhmm::BmcMonitoredComponentsResponse> |
| GetBmcMonitoredComponentsResponse() const = 0; |
| virtual bool isUhmmConfigValid() const = 0; |
| }; |
| } // namespace deterministic_bmc |
| |
| #endif // THIRD_PARTY_MILOTIC_EXTERNAL_CC_TLBMC_DETERMINISTIC_BMC_OFFLINE_CONFIG_PARSER_OFFLINE_CONFIG_PARSER_INTERFACE_H_ |