#ifndef THERMALMODULEIF_H_ #define THERMALMODULEIF_H_ #include "ThermalComponentIF.h" class AbstractTemperatureSensor; class ThermalModuleIF { public: enum Strategy { PASSIVE = 0, ACTIVE_SURVIVAL = 1, ACTIVE_SINGLE = 2, ACTIVE_DUAL = 3, }; enum StateRequest { STATE_REQUEST_HEATING = 1, STATE_REQUEST_PASSIVE = 0 }; enum State { NON_OPERATIONAL = 0, OPERATIONAL = 1, UNKNOWN = 2 }; virtual ~ThermalModuleIF() {} virtual void performOperation(uint8_t opCode) = 0; virtual void performMode(Strategy strategy) = 0; virtual float getTemperature() = 0; virtual void registerSensor(AbstractTemperatureSensor *sensor) = 0; virtual void registerComponent(ThermalComponentIF *component, ThermalComponentIF::Priority priority) = 0; virtual ThermalComponentIF *findComponent(object_id_t objectId) = 0; virtual void setHeating(bool on) = 0; virtual void setOutputInvalid() = 0; }; #endif /* THERMALMODULEIF_H_ */