DNSSD
servicebrowser.h
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 #ifndef DNSSDSERVICEBROWSER_H
00022 #define DNSSDSERVICEBROWSER_H
00023
00024 #include <QtCore/QObject>
00025 #include <QtNetwork/QHostAddress>
00026
00027 #include <dnssd/remoteservice.h>
00028
00029
00030 namespace DNSSD
00031 {
00032 class DomainBrowser;
00033 class ServiceBrowserPrivate;
00034
00064 class KDNSSD_EXPORT ServiceBrowser : public QObject
00065 {
00066 Q_OBJECT
00067
00068 public:
00072 enum State {
00074 Working,
00076 Stopped,
00078 Unsupported
00079 };
00080
00113 explicit ServiceBrowser(const QString& type,
00114 bool autoResolve = false,
00115 const QString& domain = QString(),
00116 const QString& subtype = QString());
00117
00118 ~ServiceBrowser();
00119
00127 QList<RemoteService::Ptr> services() const;
00128
00141 virtual void startBrowse();
00142
00184 static State isAvailable();
00185
00193 bool isAutoResolving() const;
00194
00208 static QHostAddress resolveHostName(const QString& hostname);
00209
00220 static QString getLocalHostName();
00221
00222 Q_SIGNALS:
00233 void serviceAdded(DNSSD::RemoteService::Ptr service);
00234
00248 void serviceRemoved(DNSSD::RemoteService::Ptr service);
00249
00280 void finished();
00281
00282 protected:
00283 virtual void virtual_hook(int, void*);
00284
00285 private:
00286 friend class ServiceBrowserPrivate;
00287 ServiceBrowserPrivate* const d;
00288
00289 };
00290
00291 }
00292
00293 #endif