void Avahi::addService(int, int, const QString &name, const QString &type, const QString &domain, uint) { if (isLocalDomain(domain) && !services.contains(name)) { AvahiService *srv=new AvahiService(name, type, domain); services.insert(name, srv); connect(srv, SIGNAL(serviceResolved(QString)), this, SIGNAL(serviceAdded(QString))); } }
void Avahi::removeService(int, int, const QString &name, const QString &, const QString &domain, uint) { if (isLocalDomain(domain) && services.contains(name)) { services[name]->deleteLater(); disconnect(services[name], SIGNAL(serviceResolved(QString)), this, SIGNAL(serviceAdded(QString))); services.remove(name); emit serviceRemoved(name); } }
ServiceModel::ServiceModel(ServiceBrowser *browser, QObject *parent) : QAbstractItemModel(parent), d(new ServiceModelPrivate) { d->m_browser = browser; browser->setParent(this); connect(browser, SIGNAL(serviceAdded(KDNSSD::RemoteService::Ptr)), this, SIGNAL(layoutChanged())); connect(browser, SIGNAL(serviceRemoved(KDNSSD::RemoteService::Ptr)), this, SIGNAL(layoutChanged())); browser->startBrowse(); }
void ServiceBrowser::serviceResolved(bool success) { QObject* sender_obj = const_cast<QObject*>(sender()); RemoteService* svr = static_cast<RemoteService*>(sender_obj); disconnect(svr,SIGNAL(resolved(bool)),this,SLOT(serviceResolved(bool))); QValueList<RemoteService::Ptr>::Iterator it = d->m_duringResolve.begin(); QValueList<RemoteService::Ptr>::Iterator itEnd = d->m_duringResolve.end(); while ( it!= itEnd && svr!= (*it)) ++it; if (it != itEnd) { if (success) { d->m_services+=(*it); emit serviceAdded(svr); } d->m_duringResolve.remove(it); queryFinished(); } }
void ServiceDirectory::serviceReady(const unsigned int &idx) { boost::recursive_mutex::scoped_lock lock(mutex); // search the id before accessing it // otherwise operator[] create a empty entry std::map<unsigned int, ServiceInfo>::iterator itService; itService = pendingServices.find(idx); if (itService == pendingServices.end()) { std::stringstream ss; ss << "Can't find pending service #" << idx; qiLogError() << ss.str(); throw std::runtime_error(ss.str()); } std::string serviceName = itService->second.name(); connectedServices[idx] = itService->second; pendingServices.erase(itService); serviceAdded(idx, serviceName); }
void QConnectionManager::servicesListChanged(const QStringList &list) { bool ok = false; Q_FOREACH(const QString &path,list) { if (orderedServicesList.indexOf((path)) == -1) { //added qDebug() << Q_FUNC_INFO << "added" << path; serviceAdded(path); ok = true; } } Q_FOREACH(const QString &path,orderedServicesList) { if (list.indexOf((path)) == -1) { qDebug() << Q_FUNC_INFO << "removed" << path; serviceRemoved(path); ok = true; //removed } } if (ok && serviceInProgress.isEmpty()) autoConnect(); }
bool ZmdUpdaterCore::qt_emit( int _id, QUObject* _o ) { switch ( _id - staticMetaObject()->signalOffset() ) { case 0: userListing((QValueList<Identity>)(*((QValueList<Identity>*)static_QUType_ptr.get(_o+1)))); break; case 1: serviceListing((QValueList<Service>)(*((QValueList<Service>*)static_QUType_ptr.get(_o+1)))); break; case 2: catalogListing((QValueList<Catalog>)(*((QValueList<Catalog>*)static_QUType_ptr.get(_o+1)))); break; case 3: patchListing((QValueList<Patch>)(*((QValueList<Patch>*)static_QUType_ptr.get(_o+1)))); break; case 4: updateListing((QValueList<Package>)(*((QValueList<Package>*)static_QUType_ptr.get(_o+1)))); break; case 5: lockListing((QValueList<PackageLock>)(*((QValueList<PackageLock>*)static_QUType_ptr.get(_o+1)))); break; case 6: packageInfo((Package)(*((Package*)static_QUType_ptr.get(_o+1)))); break; case 7: packageDetails((PackageDetails)(*((PackageDetails*)static_QUType_ptr.get(_o+1)))); break; case 8: realPackages((QValueList<Package>)(*((QValueList<Package>*)static_QUType_ptr.get(_o+1))),(QValueList<Package>)(*((QValueList<Package>*)static_QUType_ptr.get(_o+2))),(QValueList<Package>)(*((QValueList<Package>*)static_QUType_ptr.get(_o+3)))); break; case 9: transactionFinished((int)static_QUType_int.get(_o+1),(QString)static_QUType_QString.get(_o+2)); break; case 10: serviceAdded((QString)static_QUType_QString.get(_o+1),(int)static_QUType_int.get(_o+2),(QString)static_QUType_QString.get(_o+3)); break; case 11: generalFault((QString)static_QUType_QString.get(_o+1),(int)static_QUType_int.get(_o+2)); break; case 12: progress((Progress)(*((Progress*)static_QUType_ptr.get(_o+1)))); break; case 13: downloadProgress((Progress)(*((Progress*)static_QUType_ptr.get(_o+1)))); break; default: return QObject::qt_emit(_id,_o); } return TRUE; }
void DNSSDNetworkBuilder::addServiceType( const QString& serviceType ) { kDebug()<<serviceType<<mServiceBrowserTable.contains(serviceType); if( mServiceBrowserTable.contains(serviceType)) return; // kDebug()<<serviceType; DNSSD::ServiceBrowser* serviceBrowser = new DNSSD::ServiceBrowser( serviceType, true ); connect( serviceBrowser, SIGNAL(serviceAdded(DNSSD::RemoteService::Ptr)), SLOT(addService(DNSSD::RemoteService::Ptr)) ); connect( serviceBrowser, SIGNAL(serviceRemoved(DNSSD::RemoteService::Ptr)), SLOT(removeService(DNSSD::RemoteService::Ptr)) ); if( mIsInit ) { ++mNoOfInitServiceTypes; connect( serviceBrowser, SIGNAL(finished()), SLOT(onServiceBrowserFinished()) ); } mServiceBrowserTable[serviceType] = serviceBrowser; serviceBrowser->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() ); } }
void ServiceDirectoryClient::onServiceAdded(unsigned int idx, const std::string &name) { qiLogVerbose() << "ServiceDirectoryClient: Service Added #" << idx << ": " << name << std::endl; serviceAdded(idx, name); }