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:
@@ -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)
|
||||
|
||||
@@ -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_;
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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_;
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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_;
|
||||
|
||||
Reference in New Issue
Block a user