48 lines
994 B
C++
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 |