| #ifndef THIRD_PARTY_MILOTIC_EXTERNAL_CC_TLBMC_HAL_FRU_SCANNER_ADC_H_ |
| #define THIRD_PARTY_MILOTIC_EXTERNAL_CC_TLBMC_HAL_FRU_SCANNER_ADC_H_ |
| |
| #include <memory> |
| #include <string> |
| #include <vector> |
| |
| #include "bus_topology.pb.h" |
| #include "absl/status/statusor.h" |
| #include "tlbmc/hal/fru_scanner.h" |
| #include "status.pb.h" |
| |
| namespace milotic_tlbmc { |
| |
| class IpcServer; |
| |
| class FruScannerAdc : public FruScanner { |
| public: |
| struct Options { |
| std::vector<uhmm::BmcMonitoredComponentsResponse::MonitoredComponent> |
| components; |
| }; |
| |
| static PresenceStatus GetAdcFruPresenceStatus(const std::string& name); |
| |
| absl::StatusOr<std::vector<std::unique_ptr<AdcFruInfo>>> ScanAllAdcFrus() |
| const override; |
| |
| static std::unique_ptr<FruScannerAdc> Create(const Options& options); |
| |
| protected: |
| explicit FruScannerAdc( |
| std::vector<uhmm::BmcMonitoredComponentsResponse::MonitoredComponent> |
| components); |
| |
| private: |
| std::vector<uhmm::BmcMonitoredComponentsResponse::MonitoredComponent> |
| adc_components_; |
| }; |
| |
| } // namespace milotic_tlbmc |
| |
| #endif // THIRD_PARTY_MILOTIC_EXTERNAL_CC_TLBMC_HAL_FRU_SCANNER_ADC_H_ |