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()
39 lines
799 B
C++
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
|