16#define MDNS_STR(name) (reinterpret_cast<const esphome::mdns::MDNSString *>(name))
20#define MDNS_STR_ARG(s) ((PGM_P) (s))
22#define MDNS_STR_ARG(s) (reinterpret_cast<const char *>(s))
29 const MDNSString *
key;
46 void setup()
override;
49#if (defined(USE_ESP8266) || defined(USE_RP2040)) && defined(USE_ARDUINO)
54#ifdef USE_MDNS_EXTRA_SERVICES
58#ifdef USE_MDNS_STORE_SERVICES
76#ifdef USE_MDNS_STORE_SERVICES
Fixed-capacity vector - allocates once at runtime, never reallocates This avoids std::vector template...
Minimal static vector - saves memory by avoiding std::vector overhead.
void push_back(const T &value)
void on_shutdown() override
StaticVector< std::string, MDNS_DYNAMIC_TXT_COUNT > dynamic_txt_values_
Storage for runtime-generated TXT values (MAC address, user lambdas) Pre-sized at compile time via MD...
void dump_config() override
float get_setup_priority() const override
const char * add_dynamic_txt_value(const std::string &value)
Add a dynamic TXT value and return pointer to it for use in MDNSTXTRecord.
void compile_records_(StaticVector< MDNSService, MDNS_SERVICE_COUNT > &services)
void add_extra_service(MDNSService service)
const StaticVector< MDNSService, MDNS_SERVICE_COUNT > & get_services() const
StaticVector< MDNSService, MDNS_SERVICE_COUNT > services_
const float AFTER_CONNECTION
For components that should be initialized after a data connection (API/MQTT) is connected.
Providing packet encoding functions for exchanging data with a remote host.
TemplatableValue< uint16_t > port
FixedVector< MDNSTXTRecord > txt_records
const MDNSString * service_type