allow creation of DeviceConfig only with factory method

This commit is contained in:
Nicu Hodos 2024-05-18 22:37:58 +02:00
parent 186678cffc
commit 07c2859400

View File

@ -18,8 +18,6 @@ namespace Ha {
const char* area = nullptr;
DeviceConfig* parent = nullptr;
DeviceConfig(const char* id) : id(id) {}
static DeviceConfig* create(const char* id) {
return new DeviceConfig{ id };
}
@ -59,6 +57,9 @@ namespace Ha {
parent = deviceConfig;
return this;
}
protected:
DeviceConfig(const char* id) : id(id) {}
};
struct Component {
@ -162,13 +163,13 @@ namespace Ha {
}
Builder& withSecondary(Component* c) {
c->mainDevice = new DeviceConfig{ cmp->id };
c->mainDevice = DeviceConfig::create(cmp->id);
return *this;
}
Builder& withDiagnostic(Component* c) {
c->entityCategory = "diagnostic";
c->mainDevice = new DeviceConfig{ cmp->id };
c->mainDevice = DeviceConfig::create(cmp->id);
return *this;
}