blob: 1956ee952254694731a9e0c941ee117840918be5 [file] [log] [blame]
#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