DNSSD
mdnsd-servicetypebrowser.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include "mdnsd-servicetypebrowser_p.h"
00022 #include "servicetypebrowser.h"
00023 #include "servicebrowser.h"
00024
00025 namespace DNSSD
00026 {
00027
00028 ServiceTypeBrowser::ServiceTypeBrowser(const QString& domain,QObject *parent) : QObject(parent),d(new ServiceTypeBrowserPrivate(this))
00029 {
00030 d->m_browser=new ServiceBrowser("_services._dns-sd._udp",false, domain);
00031 connect(d->m_browser,SIGNAL(serviceAdded(DNSSD::RemoteService::Ptr)), d, SLOT(newService(DNSSD::RemoteService::Ptr)));
00032 connect(d->m_browser,SIGNAL(serviceRemoved(DNSSD::RemoteService::Ptr)), d, SLOT(removeService(DNSSD::RemoteService::Ptr)));
00033 connect(d->m_browser,SIGNAL(finished()), this, SIGNAL(finished()));
00034 }
00035
00036 ServiceTypeBrowser::~ServiceTypeBrowser()
00037 {
00038 delete d;
00039 }
00040
00041 QStringList ServiceTypeBrowser::serviceTypes() const
00042 {
00043 return d->m_servicetypes;
00044 }
00045
00046
00047 void ServiceTypeBrowser::startBrowse()
00048 {
00049 d->m_browser->startBrowse();
00050 }
00051
00052
00053 bool ServiceTypeBrowser::isRunning() const
00054 {
00055 return false;
00056 }
00057
00058 void ServiceTypeBrowserPrivate::newService(DNSSD::RemoteService::Ptr srv)
00059 {
00060 QString type=srv->serviceName()+'.'+srv->type();
00061 m_servicetypes+=type;
00062 emit m_parent->serviceTypeAdded(type);
00063 }
00064
00065 void ServiceTypeBrowserPrivate::removeService(DNSSD::RemoteService::Ptr srv)
00066 {
00067 QString type=srv->serviceName()+'.'+srv->type();
00068 m_servicetypes.removeAll(type);
00069 emit m_parent->serviceTypeRemoved(type);
00070 }
00071
00072
00073 }
00074
00075
00076
00077 #include "servicetypebrowser.moc"
00078 #include "mdnsd-servicetypebrowser_p.moc"