Files
esphome/components/ratgdo/protocol.h
T
artem 0bdb599afe Get rid of SUM_TYPE abstraction
I couldn't understand it -- maybe it was needed for something before our
refactoring too place, but now it's ridiculous.

400 SLoC + complaint about C++ => object.function()
2026-05-27 12:40:44 +00:00

39 lines
799 B
C++

#pragma once
#include "common.h"
#include "ratgdo_state.h"
namespace esphome {
class Scheduler;
class InternalGPIOPin;
} // namespace esphome
namespace esphome::ratgdo {
class RATGDOComponent;
namespace protocol {
class Protocol {
public:
virtual void setup(RATGDOComponent* ratgdo, Scheduler* scheduler, InternalGPIOPin* rx_pin, InternalGPIOPin* tx_pin);
virtual void loop();
virtual void dump_config();
virtual void on_shutdown() { }
virtual void sync();
virtual void light_action(LightAction action);
virtual void lock_action(LockAction action);
virtual void door_action(DoorAction action);
virtual void query_status() {}
virtual void query_openings() {}
};
}
} // namespace esphome::ratgdo