<table><tr><td style="">sitter created this revision.<br />Herald added projects: Dolphin, Frameworks.<br />Herald added subscribers: kfm-devel, kde-frameworks-devel.<br />sitter requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D25682">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>needs kdsoap >= 1.8.50 (current master).<br />
builds a static variant of kdsoap-ws-discovery-client but can also<br />
use system's version if available.</p>

<p>also reinvents how discovery works:<br />
there are now Discoverers for dnssd and wsd that get started/stopped.<br />
the Discoverers discover servers and emit them as Discoveries. Discoveries<br />
are then converted to udsentries for kio.</p>

<p>todo:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">cleanup pragmas/warnings</li>
<li class="remarkup-list-item">cleanup qdebugs and/or categorize</li>
<li class="remarkup-list-item">split the browse function to ease readability</li>
<li class="remarkup-list-item">cleanup includes</li>
<li class="remarkup-list-item">get rid of icon overlays</li>
<li class="remarkup-list-item">figure out a way to get better context menus for non-file entries. this is a general problem with KIO. because it only understands unix dirent types the context menus for artificial things as appearing in discovery slaves (smb and network for instance) are lackluster</li>
</ul></div></div><br /><div><strong>TEST PLAN</strong><div><p>discover all the things!</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">windows 10 test vm with remote address</li>
<li class="remarkup-list-item"><a href="https://github.com/christgau/wsdd" class="remarkup-link" target="_blank" rel="noreferrer">https://github.com/christgau/wsdd</a> on remote host</li>
<li class="remarkup-list-item">avahi smb on remote host</li>
</ul></div></div><br /><div><strong>REPOSITORY</strong><div><div>R320 KIO Extras</div></div></div><br /><div><strong>BRANCH</strong><div><div>wsdiscovery</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D25682">https://phabricator.kde.org/D25682</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>smb/CMakeLists.txt<br />
smb/discovery.cpp<br />
smb/discovery.h<br />
smb/dnssddiscoverer.cpp<br />
smb/dnssddiscoverer.h<br />
smb/kdsoap-ws-discovery-client/.gitignore<br />
smb/kdsoap-ws-discovery-client/.gitlab-ci.yml<br />
smb/kdsoap-ws-discovery-client/CMakeLists.txt<br />
smb/kdsoap-ws-discovery-client/CMakeLists.txt.user<br />
smb/kdsoap-ws-discovery-client/KDSoapWSDiscoveryClientConfig.cmake.in<br />
smb/kdsoap-ws-discovery-client/LICENSE<br />
smb/kdsoap-ws-discovery-client/README.md<br />
smb/kdsoap-ws-discovery-client/examples/CMakeLists.txt<br />
smb/kdsoap-ws-discovery-client/examples/onvif-discover/CMakeLists.txt<br />
smb/kdsoap-ws-discovery-client/examples/onvif-discover/main.cpp<br />
smb/kdsoap-ws-discovery-client/examples/onvif-discover/onvifdiscover.cpp<br />
smb/kdsoap-ws-discovery-client/examples/onvif-discover/onvifdiscover.h<br />
smb/kdsoap-ws-discovery-client/src/CMakeLists.txt<br />
smb/kdsoap-ws-discovery-client/src/wsdiscoveryclient.cpp<br />
smb/kdsoap-ws-discovery-client/src/wsdiscoveryclient.h<br />
smb/kdsoap-ws-discovery-client/src/wsdiscoveryprobejob.cpp<br />
smb/kdsoap-ws-discovery-client/src/wsdiscoveryprobejob.h<br />
smb/kdsoap-ws-discovery-client/src/wsdiscoverytargetservice.cpp<br />
smb/kdsoap-ws-discovery-client/src/wsdiscoverytargetservice.h<br />
smb/kdsoap-ws-discovery-client/wsdl/docs.oasis-open.org/ws-dd/discovery/1.1/os/wsdd-discovery-1.1-schema-os.xsd<br />
smb/kdsoap-ws-discovery-client/wsdl/docs.oasis-open.org/ws-dd/discovery/1.1/os/wsdd-discovery-1.1-wsdl-os.wsdl<br />
smb/kdsoap-ws-discovery-client/wsdl/download.sh<br />
smb/kdsoap-ws-discovery-client/wsdl/schemas.xmlsoap.org/ws/2004/08/addressing<br />
smb/kdsoap-ws-discovery-client/wsdl/schemas.xmlsoap.org/ws/2004/09/transfer/transfer.wsdl<br />
smb/kdsoap-ws-discovery-client/wsdl/schemas.xmlsoap.org/ws/2004/09/transfer/transfer.xsd<br />
smb/kdsoap-ws-discovery-client/wsdl/schemas.xmlsoap.org/ws/2005/04/discovery/ws-discovery.wsdl<br />
smb/kdsoap-ws-discovery-client/wsdl/schemas.xmlsoap.org/ws/2005/04/discovery/ws-discovery.xsd<br />
smb/kdsoap-ws-discovery-client/wsdl/www.w3.org/2006/03/addressing/ws-addr.xsd<br />
smb/kio_smb.h<br />
smb/kio_smb_browse.cpp<br />
smb/wsdiscoverer.cpp<br />
smb/wsdiscoverer.h</div></div></div><br /><div><strong>To: </strong>sitter<br /><strong>Cc: </strong>kde-frameworks-devel, kfm-devel, pberestov, iasensio, fprice, LeGast00n, MrPepe, fbampaloukas, alexde, GB_2, Codezela, feverfew, meven, michaelh, spoorun, navarromorales, firef, ngraham, andrebarros, bruns, emmanuelp, mikesomov<br /></div>