ESPHome 2025.12.0-dev
Loading...
Searching...
No Matches
template_lock.h
Go to the documentation of this file.
1#pragma once
2
7
8namespace esphome {
9namespace template_ {
10
11class TemplateLock final : public lock::Lock, public Component {
12 public:
14
15 void setup() override;
16 void dump_config() override;
17
18 template<typename F> void set_state_lambda(F &&f) { this->f_.set(std::forward<F>(f)); }
22 void set_optimistic(bool optimistic);
23 void loop() override;
24
25 float get_setup_priority() const override;
26
27 protected:
28 void control(const lock::LockCall &call) override;
29 void open_latch() override;
30
32 bool optimistic_{false};
37};
38
39} // namespace template_
40} // namespace esphome
Lightweight wrapper for template platform lambdas (stateless function pointers only).
void set(optional< T >(*f)(Args...))
Set the lambda function pointer.
This class is used to encode all control actions on a lock device.
Definition lock.h:77
Base class for all locks.
Definition lock.h:109
float get_setup_priority() const override
void set_optimistic(bool optimistic)
void control(const lock::LockCall &call) override
TemplateLambda< lock::LockState > f_
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7