ha-mqtt/src/enums.h

31 lines
640 B
C++

#pragma once
class EnumClass {
const char* value = nullptr;
public:
EnumClass() {}
EnumClass(const char* v) {
value = v;
}
void operator=(const char* v) {
value = v;
}
operator const char*() {
return value;
}
operator bool() {
return value != nullptr;
}
};
namespace Ha {
struct SensorStateClass : EnumClass {
SensorStateClass() : EnumClass() {}
SensorStateClass(const char* value) : EnumClass(value) {}
} MEASUREMENT{ "measurement" }, MEASUREMENT_ANGLE{ "measurement_angle" }, TOTAL{ "total" }, TOTAL_INCREASING{ "total_increasing" };
}