Files
itc_pressure_optimizer/src/device/DemandHandler.h
T
2026-07-20 11:28:39 +02:00

48 lines
994 B
C++

#ifndef DEMAND_HANDLER_H
#define DEMAND_HANDLER_H
#include "EventBus.h"
#include <string>
#include <variant>
class DemandHandler {
private:
std::string path;
EventBus &eventBus;
void pullMinimalPressure();
void pullMaximalPressure();
void pullConstante1();
void pullConstante2();
void pullPressureControlMode();
void pullSetPressure();
/*
@brief Manualy get all the value, and update owned objects
*/
bool init();
/*
@brief Set all the hotlink, waiting for any update
@return true if succes, false if any error encountered
*/
bool setHotlink();
public:
enum class EventType {
MINIMAL_PRESSURE,
MAXIMAL_PRESSURE,
CONSTANTE_1,
CONSTANTE_2,
PRESSURE_CONTROL_MODE,
SET_PRESSURE
};
struct Event {
EventType type;
std::variant<float, bool> value;
};
DemandHandler(EventBus &eventBusReference, std::string equipmentName);
};
#endif