smb: guard against duplicated service discoveries
Summary:
if both dnssd and wsdiscovery have the same server on offer we'd create
duplicated entries. instead keep track of the discovered names and only
use the first discovery. notably happens when using wsdd on linux where
samba would also register itself on dnssd.
for ease of access and to not have to roundtrip through udsentry, discovery
objects now have a udsName function that is meant to be the exact name
used for the udsentry.
Test Plan:
- have samba
- run wsdd.py from https://github.com/christgau/wsdd
- server only shows up once
Reviewers: ngraham
Reviewed By: ngraham
Subscribers: kde-frameworks-devel, kfm-devel
Tags: Dolphin, Frameworks
Differential Revision: https://phabricator.kde.org/D28078