refactor: update deviceRemoved signal to use MAC address instead of device name

This commit is contained in:
uncor3
2026-02-10 21:11:22 +00:00
parent cf0ba91684
commit 180497d54d
4 changed files with 11 additions and 10 deletions
+4 -3
View File
@@ -144,6 +144,7 @@ void AvahiService::browseCallback(AvahiServiceBrowser *browser,
Q_UNUSED(flags)
AvahiService *service = static_cast<AvahiService *>(userdata);
QString macAddress = QString::fromUtf8(name).split('@').first();
switch (event) {
case AVAHI_BROWSER_NEW:
@@ -157,14 +158,14 @@ void AvahiService::browseCallback(AvahiServiceBrowser *browser,
case AVAHI_BROWSER_REMOVE:
qDebug() << "Apple device removed:" << name;
emit service->deviceRemoved(QString::fromUtf8(name));
emit service->deviceRemoved(macAddress);
// Remove from our list
{
QMutexLocker locker(&service->m_devicesMutex);
service->m_networkDevices.removeIf(
[name](const NetworkDevice &dev) {
return dev.name == QString::fromUtf8(name);
[macAddress](const NetworkDevice &dev) {
return dev.macAddress == macAddress;
});
}
break;
+1 -1
View File
@@ -48,7 +48,7 @@ public:
signals:
void deviceAdded(const NetworkDevice &device);
void deviceRemoved(const QString &deviceName);
void deviceRemoved(const QString &macAddress);
private slots:
void pollAvahi();
+5 -5
View File
@@ -140,16 +140,16 @@ void DNSSD_API DnssdService::browseCallback(
DNSServiceRefDeallocate(resolveRef);
}
} else {
qDebug() << "Apple device removed:" << serviceName;
emit service->deviceRemoved(QString::fromUtf8(serviceName));
QString macAddress = QString::fromUtf8(serviceName).split('@').first();
emit service->deviceRemoved(macAddress);
// Remove from our list
QMutexLocker locker(&service->m_devicesMutex);
service->m_networkDevices.removeIf(
[serviceName](const NetworkDevice &dev) {
return dev.name == QString::fromUtf8(serviceName);
[macAddress](const NetworkDevice &dev) {
return dev.macAddress == macAddress;
});
service->m_pendingDevices.remove(QString::fromUtf8(serviceName));
service->m_pendingDevices.remove(macAddress);
}
}
+1 -1
View File
@@ -50,7 +50,7 @@ public:
signals:
void deviceAdded(const NetworkDevice &device);
void deviceRemoved(const QString &deviceName);
void deviceRemoved(const QString &macAddress);
private slots:
void processDnssdEvents();