Add optional parameter for binding service to specific interface

Forgot Linux
This commit is contained in:
Jonathan Bagg
2022-10-28 13:57:08 -04:00
parent 16b50c700f
commit c75cd78cff

View File

@ -226,16 +226,19 @@ QZeroConf::~QZeroConf()
delete pri;
}
void QZeroConf::startServicePublish(const char *name, const char *type, const char *domain, quint16 port)
void QZeroConf::startServicePublish(const char *name, const char *type, const char *domain, quint16 port, quint32 interface)
{
if (pri->group) {
emit error(QZeroConf::serviceRegistrationFailed);
return;
}
if (interface <= 0) {
interface = AVAHI_IF_UNSPEC;
}
pri->group = avahi_entry_group_new(pri->client, QZeroConfPrivate::groupCallback, pri);
int ret = avahi_entry_group_add_service_strlst(pri->group, AVAHI_IF_UNSPEC, AVAHI_PROTO_UNSPEC, AVAHI_PUBLISH_UPDATE, name, type, domain, NULL, port, pri->txt);
int ret = avahi_entry_group_add_service_strlst(pri->group, interface, AVAHI_PROTO_UNSPEC, AVAHI_PUBLISH_UPDATE, name, type, domain, NULL, port, pri->txt);
if (ret < 0) {
avahi_entry_group_free(pri->group);
pri->group = NULL;