| #include "tlbmc/configs/entity_config.h" |
| |
| #include <memory> |
| #include <string> |
| #include <utility> |
| #include <vector> |
| |
| #include "absl/log/log.h" |
| #include "absl/status/status.h" |
| #include "absl/status/statusor.h" |
| #include "absl/strings/string_view.h" |
| #include "absl/types/span.h" |
| #include "nlohmann/json.hpp" |
| #include "tlbmc/collector/sensor_collector.h" |
| #include "fan_controller_config.pb.h" |
| #include "fan_pwm_config.pb.h" |
| #include "fan_tach_config.pb.h" |
| #include "hwmon_temp_sensor_config.pb.h" |
| #include "intel_cpu_sensor_config.pb.h" |
| #include "psu_sensor_config.pb.h" |
| #include "shared_mem_sensor_config.pb.h" |
| #include "topology_config.pb.h" |
| #include "virtual_sensor_config.pb.h" |
| #include "fru.pb.h" |
| #include "router_interface.h" |
| |
| namespace milotic_tlbmc { |
| |
| // Factory function definition |
| std::unique_ptr<EntityConfig> EmptyEntityConfigImpl::Create() { |
| return std::make_unique<EmptyEntityConfigImpl>(); |
| } |
| |
| // EmptyEntityConfigImpl method implementations |
| absl::StatusOr<absl::Span<const HwmonTempSensorConfig>> |
| EmptyEntityConfigImpl::GetAllHwmonTempSensorConfigs() const { |
| return absl::UnimplementedError( |
| "EmptyEntityConfigImpl used. This interface is unimplemented."); |
| } |
| |
| absl::StatusOr<absl::Span<const PsuSensorConfig>> |
| EmptyEntityConfigImpl::GetAllPsuSensorConfigs() const { |
| return absl::UnimplementedError( |
| "EmptyEntityConfigImpl used. This interface is unimplemented."); |
| ; |
| } |
| |
| absl::StatusOr<absl::Span<const FanControllerConfig>> |
| EmptyEntityConfigImpl::GetAllFanControllerConfigs() const { |
| return absl::UnimplementedError( |
| "EmptyEntityConfigImpl used. This interface is unimplemented."); |
| ; |
| } |
| |
| absl::StatusOr<absl::Span<const FanPwmConfig>> |
| EmptyEntityConfigImpl::GetAllFanPwmConfigs() const { |
| return absl::UnimplementedError( |
| "EmptyEntityConfigImpl used. This interface is unimplemented."); |
| ; |
| } |
| |
| absl::StatusOr<absl::Span<const FanTachConfig>> |
| EmptyEntityConfigImpl::GetAllFanTachConfigs() const { |
| return absl::UnimplementedError( |
| "EmptyEntityConfigImpl used. This interface is unimplemented."); |
| ; |
| } |
| |
| absl::StatusOr<absl::Span<const SharedMemSensorConfig>> |
| EmptyEntityConfigImpl::GetAllSharedMemSensorConfigs() const { |
| return absl::UnimplementedError( |
| "EmptyEntityConfigImpl used. This interface is unimplemented."); |
| ; |
| } |
| |
| absl::StatusOr<absl::Span<const IntelCpuSensorConfig>> |
| EmptyEntityConfigImpl::GetAllIntelCpuSensorConfigs() const { |
| return absl::UnimplementedError( |
| "EmptyEntityConfigImpl used. This interface is unimplemented."); |
| ; |
| } |
| |
| absl::StatusOr<absl::Span<const VirtualSensorConfig>> |
| EmptyEntityConfigImpl::GetAllVirtualSensorConfigs() const { |
| return absl::UnimplementedError( |
| "EmptyEntityConfigImpl used. This interface is unimplemented."); |
| } |
| |
| absl::StatusOr<absl::Span<const NicTelemetryConfig>> |
| EmptyEntityConfigImpl::GetAllNicTelemetryConfigs() const { |
| return absl::UnimplementedError( |
| "EmptyEntityConfigImpl used. This interface is unimplemented."); |
| } |
| |
| absl::StatusOr<const TopologyConfigNode*> EmptyEntityConfigImpl::GetFruTopology( |
| absl::string_view fru_key) const { |
| return absl::UnimplementedError( |
| "EmptyEntityConfigImpl used. This interface is unimplemented."); |
| ; |
| } |
| |
| absl::StatusOr<const TopologyConfigNode*> |
| EmptyEntityConfigImpl::GetFruTopologyByConfig( |
| absl::string_view config_key) const { |
| return absl::UnimplementedError( |
| "EmptyEntityConfigImpl used. This interface is unimplemented."); |
| ; |
| } |
| |
| absl::StatusOr<const TopologyConfig*> EmptyEntityConfigImpl::GetTopologyConfig() |
| const { |
| return absl::UnimplementedError( |
| "EmptyEntityConfigImpl used. This interface is unimplemented."); |
| ; |
| } |
| |
| absl::StatusOr<std::vector<std::string>> |
| EmptyEntityConfigImpl::GetAllConfigKeys() const { |
| return std::vector<std::string>(); |
| } |
| |
| absl::StatusOr<std::string> EmptyEntityConfigImpl::GetConfigKeyByFruKey( |
| absl::string_view fru_key) const { |
| return absl::UnimplementedError( |
| "EmptyEntityConfigImpl used. This interface is unimplemented."); |
| ; |
| } |
| |
| absl::StatusOr<std::string> EmptyEntityConfigImpl::GetFruKeyByConfigKey( |
| absl::string_view config_key) const { |
| return absl::UnimplementedError( |
| "EmptyEntityConfigImpl used. This interface is unimplemented."); |
| ; |
| } |
| |
| absl::StatusOr<std::vector<std::pair<std::string, std::string>>> |
| EmptyEntityConfigImpl::GetFanInfoByConfigKey( |
| absl::string_view config_key) const { |
| return absl::UnimplementedError( |
| "EmptyEntityConfigImpl used. This interface is unimplemented."); |
| ; |
| } |
| |
| absl::StatusOr<std::string> EmptyEntityConfigImpl::GetFruDevpath( |
| absl::string_view fru_key) const { |
| return absl::UnimplementedError( |
| "EmptyEntityConfigImpl used. This interface is unimplemented."); |
| ; |
| } |
| |
| absl::StatusOr<const Fru*> EmptyEntityConfigImpl::GetFru( |
| absl::string_view key) const { |
| return absl::UnimplementedError( |
| "EmptyEntityConfigImpl used. This interface is unimplemented."); |
| ; |
| } |
| |
| absl::StatusOr<const FruTable*> EmptyEntityConfigImpl::GetAllFrus() const { |
| return absl::UnimplementedError( |
| "EmptyEntityConfigImpl used. This interface is unimplemented."); |
| ; |
| } |
| |
| void EmptyEntityConfigImpl::UpdateFruAndTopology(const RawFruTable& fru_table, |
| const RawFru& raw_fru) { |
| LOG(WARNING) << "EmptyEntityConfigImpl::UpdateFruAndTopology is called. This " |
| "is a no-op."; |
| } |
| |
| void EmptyEntityConfigImpl::SetSmartRouter( |
| ::crow::RouterInterface* smart_router) { |
| LOG(WARNING) |
| << "EmptyEntityConfigImpl::SetSmartRouter is called. This is a no-op."; |
| } |
| |
| void EmptyEntityConfigImpl::SetSensorCollector( |
| SensorCollector* sensor_collector) { |
| LOG(WARNING) << "EmptyEntityConfigImpl::SetSensorCollector is called. This " |
| "is a no-op."; |
| } |
| |
| nlohmann::json EmptyEntityConfigImpl::ToJson() const { |
| return nlohmann::json::parse( |
| "{\"Warning\": \"EmptyEntityConfigImpl used.\"}"); |
| } |
| |
| bool EmptyEntityConfigImpl::IsConfigKeyOwningAllSensors( |
| absl::string_view config_key) const { |
| return false; |
| } |
| |
| } // namespace milotic_tlbmc |