blob: 1cd161219b7968ee6c0b3b77d2604a5505062d16 [file] [log] [blame]
#pragma once
#include <cstdint>
#include <string>
namespace pid_control
{
namespace ipmi
{
// Implement this interface to control a zone's mode or read back its status.
class ZoneControlInterface
{
public:
// Reads the fan control property (either manual or failsafe) and returns an
// IPMI code based on success or failure of this.
virtual uint8_t getFanCtrlProperty(uint8_t zoneId, bool* value,
const std::string& property) = 0;
// Sets the fan control property (only manual mode is settable presently)
// and returns an IPMI code based on success or failure of this.
virtual uint8_t setFanCtrlProperty(uint8_t zoneId, bool value,
const std::string& property) = 0;
};
} // namespace ipmi
} // namespace pid_control