24 TXTRecordCreate(&txt, 0,
nullptr);
25 TXTRecordSetValue(&txt,
"version", 1,
"1");
27 std::string capabilities =
"render,commands,annotations";
28 TXTRecordSetValue(&txt,
"capabilities",
29 static_cast<uint8_t
>(capabilities.size()),
30 capabilities.c_str());
32 if (!rom_title.empty()) {
33 TXTRecordSetValue(&txt,
"rom",
static_cast<uint8_t
>(rom_title.size()),
37 DNSServiceErrorType err =
38 DNSServiceRegister(&service_ref_,
45 htons(
static_cast<uint16_t
>(port)),
46 TXTRecordGetLength(&txt), TXTRecordGetBytesPtr(&txt),
50 TXTRecordDeallocate(&txt);
52 if (err == kDNSServiceErr_NoError) {
54 LOG_INFO(
"BonjourPublisher",
"Published _yaze._tcp. on port %d", port);
56 LOG_ERROR(
"BonjourPublisher",
"Failed to publish Bonjour service: %d", err);
62 "Bonjour discovery not available on this platform");