16#ifdef USE_MDNS_STORE_SERVICES
24 esp_err_t err = mdns_init();
26 ESP_LOGW(TAG,
"Init failed: %s", esp_err_to_name(err));
32 mdns_hostname_set(hostname);
33 mdns_instance_name_set(hostname);
35 for (
const auto &service : services) {
36 auto txt_records = std::make_unique<mdns_txt_item_t[]>(service.txt_records.size());
37 for (
size_t i = 0; i < service.txt_records.size(); i++) {
38 const auto &record = service.txt_records[i];
41 txt_records[i].key = MDNS_STR_ARG(record.key);
42 txt_records[i].value = MDNS_STR_ARG(record.value);
45 err = mdns_service_add(
nullptr, MDNS_STR_ARG(service.service_type), MDNS_STR_ARG(service.proto), port,
46 txt_records.get(), service.txt_records.size());
49 ESP_LOGW(TAG,
"Failed to register service %s: %s", MDNS_STR_ARG(service.service_type), esp_err_to_name(err));