1
0
mirror of https://github.com/esphome/esphome.git synced 2026-02-08 00:31:58 +00:00

[template.datetime] Avoid heap allocation for triggers (#13710)

This commit is contained in:
J. Nick Koston
2026-02-02 05:30:46 +01:00
committed by GitHub
parent 6727fe9040
commit bc9fc66225
6 changed files with 9 additions and 9 deletions

View File

@@ -62,7 +62,7 @@ void TemplateDate::control(const datetime::DateCall &call) {
if (has_day)
value.day_of_month = *call.get_day();
this->set_trigger_->trigger(value);
this->set_trigger_.trigger(value);
if (this->optimistic_) {
if (has_year)

View File

@@ -22,7 +22,7 @@ class TemplateDate final : public datetime::DateEntity, public PollingComponent
void dump_config() override;
float get_setup_priority() const override { return setup_priority::HARDWARE; }
Trigger<ESPTime> *get_set_trigger() const { return this->set_trigger_; }
Trigger<ESPTime> *get_set_trigger() { return &this->set_trigger_; }
void set_optimistic(bool optimistic) { this->optimistic_ = optimistic; }
void set_initial_value(ESPTime initial_value) { this->initial_value_ = initial_value; }
@@ -34,7 +34,7 @@ class TemplateDate final : public datetime::DateEntity, public PollingComponent
bool optimistic_{false};
ESPTime initial_value_{};
bool restore_value_{false};
Trigger<ESPTime> *set_trigger_ = new Trigger<ESPTime>();
Trigger<ESPTime> set_trigger_;
TemplateLambda<ESPTime> f_;
ESPPreferenceObject pref_;

View File

@@ -80,7 +80,7 @@ void TemplateDateTime::control(const datetime::DateTimeCall &call) {
if (has_second)
value.second = *call.get_second();
this->set_trigger_->trigger(value);
this->set_trigger_.trigger(value);
if (this->optimistic_) {
if (has_year)

View File

@@ -22,7 +22,7 @@ class TemplateDateTime final : public datetime::DateTimeEntity, public PollingCo
void dump_config() override;
float get_setup_priority() const override { return setup_priority::HARDWARE; }
Trigger<ESPTime> *get_set_trigger() const { return this->set_trigger_; }
Trigger<ESPTime> *get_set_trigger() { return &this->set_trigger_; }
void set_optimistic(bool optimistic) { this->optimistic_ = optimistic; }
void set_initial_value(ESPTime initial_value) { this->initial_value_ = initial_value; }
@@ -34,7 +34,7 @@ class TemplateDateTime final : public datetime::DateTimeEntity, public PollingCo
bool optimistic_{false};
ESPTime initial_value_{};
bool restore_value_{false};
Trigger<ESPTime> *set_trigger_ = new Trigger<ESPTime>();
Trigger<ESPTime> set_trigger_;
TemplateLambda<ESPTime> f_;
ESPPreferenceObject pref_;

View File

@@ -62,7 +62,7 @@ void TemplateTime::control(const datetime::TimeCall &call) {
if (has_second)
value.second = *call.get_second();
this->set_trigger_->trigger(value);
this->set_trigger_.trigger(value);
if (this->optimistic_) {
if (has_hour)

View File

@@ -22,7 +22,7 @@ class TemplateTime final : public datetime::TimeEntity, public PollingComponent
void dump_config() override;
float get_setup_priority() const override { return setup_priority::HARDWARE; }
Trigger<ESPTime> *get_set_trigger() const { return this->set_trigger_; }
Trigger<ESPTime> *get_set_trigger() { return &this->set_trigger_; }
void set_optimistic(bool optimistic) { this->optimistic_ = optimistic; }
void set_initial_value(ESPTime initial_value) { this->initial_value_ = initial_value; }
@@ -34,7 +34,7 @@ class TemplateTime final : public datetime::TimeEntity, public PollingComponent
bool optimistic_{false};
ESPTime initial_value_{};
bool restore_value_{false};
Trigger<ESPTime> *set_trigger_ = new Trigger<ESPTime>();
Trigger<ESPTime> set_trigger_;
TemplateLambda<ESPTime> f_;
ESPPreferenceObject pref_;