publicservice.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef DNSSDPUBLICSERVICE_H
00022 #define DNSSDPUBLICSERVICE_H
00023
00024 #include <qobject.h>
00025 #include <dnssd/servicebase.h>
00026 #include <avahi-client/client.h>
00027
00028 class KURL;
00029 namespace DNSSD
00030 {
00031 class PublicServicePrivate;
00032
00057 class KDNSSD_EXPORT PublicService : public QObject, public ServiceBase
00058 {
00059 Q_OBJECT
00060 public:
00069 PublicService(const QString& name=QString::null,const QString& type=QString::null,
00070 unsigned int port=0,const QString& domain=QString::null);
00071
00072 ~PublicService();
00073
00078 void stop();
00079
00084 bool publish();
00085
00089 bool isPublished() const;
00090
00096 void publishAsync();
00097
00101 void setTextData(const QMap<QString,QString>& textData);
00102
00106 void setServiceName(const QString& serviceName);
00107
00112 void setType(const QString& type);
00113
00117 void setPort(unsigned short port);
00118
00123 void setDomain(const QString& domain);
00124
00131 const KURL toInvitation(const QString& host=QString::null);
00132
00133 signals:
00138 void published(bool);
00139 private:
00140 PublicServicePrivate *d;
00141 bool fillEntryGroup();
00142 void tryApply();
00143 private slots:
00144 void clientState(AvahiClientState);
00145
00146 protected:
00147 virtual void customEvent(QCustomEvent* event);
00148 virtual void virtual_hook(int, void*);
00149 };
00150
00151
00152 }
00153
00154 #endif
|