void DNSSDNetworkBuilder::start() { mIsInit = true; mNoOfInitServiceTypes = 0; mServiceTypeBrowser = new DNSSD::ServiceTypeBrowser(); connect( mServiceTypeBrowser, SIGNAL(serviceTypeAdded(QString)), SLOT(addServiceType(QString)) ); connect( mServiceTypeBrowser, SIGNAL(serviceTypeRemoved(QString)), SLOT(removeServiceType(QString)) ); connect( mServiceTypeBrowser, SIGNAL(finished()), SLOT(onServiceTypeBrowserFinished()) ); // TODO: add a signal network initialized to Network, so is cleared when first usable mServiceTypeBrowser->startBrowse(); }
void ZeroConfProtocol::listDir( const KUrl& url ) { if (!dnssdOK()) return; const ZeroConfUrl zeroConfUrl( url ); ZeroConfUrl::Type type = zeroConfUrl.type(); switch (type) { case ZeroConfUrl::RootDir: serviceTypeBrowser = new ServiceTypeBrowser(zeroConfUrl.domain()); connect( serviceTypeBrowser, SIGNAL(serviceTypeAdded(QString)), SLOT(addServiceType(QString)) ); connect( serviceTypeBrowser, SIGNAL(finished()), SLOT(onBrowserFinished()) ); serviceTypeBrowser->startBrowse(); enterLoop(); break; case ZeroConfUrl::ServiceDir: if( !knownProtocols.contains(zeroConfUrl.serviceType()) ) { error( ERR_SERVICE_NOT_AVAILABLE, zeroConfUrl.serviceType() ); break; } serviceBrowser = new ServiceBrowser( zeroConfUrl.serviceType(), false, zeroConfUrl.domain() ); connect( serviceBrowser, SIGNAL(serviceAdded(DNSSD::RemoteService::Ptr)), SLOT(addService(DNSSD::RemoteService::Ptr)) ); connect( serviceBrowser, SIGNAL(finished()), SLOT(onBrowserFinished()) ); serviceBrowser->startBrowse(); enterLoop(); break; case ZeroConfUrl::Service: resolveAndRedirect( zeroConfUrl ); break; default: error( ERR_MALFORMED_URL, url.prettyUrl() ); } }