11 static const char *
const TAG =
"mdns";
16 esp_err_t err = mdns_init();
18 ESP_LOGW(TAG,
"mDNS init failed: %s", esp_err_to_name(err));
23 mdns_hostname_set(this->
hostname_.c_str());
24 mdns_instance_name_set(this->
hostname_.c_str());
26 for (
const auto &service : this->
services_) {
27 std::vector<mdns_txt_item_t> txt_records;
28 for (
const auto &record : service.txt_records) {
31 it.key = strdup(record.key.c_str());
32 it.value = strdup(record.value.c_str());
33 txt_records.push_back(it);
35 err = mdns_service_add(
nullptr, service.service_type.c_str(), service.proto.c_str(), service.port,
36 txt_records.data(), txt_records.size());
39 for (
const auto &it : txt_records) {
45 ESP_LOGW(TAG,
"Failed to register mDNS service %s: %s", service.service_type.c_str(), esp_err_to_name(err));
std::vector< MDNSService > services_
virtual void mark_failed()
Mark this component as failed.