00001
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 <tqobject.h>
00025 #include <dnssd/servicebase.h>
00026 #ifdef HAVE_DNSSD
00027 #include <avahi-client/client.h>
00028 #else
00029 #define AvahiClientState void*
00030 #endif
00031
00032 class KURL;
00033 namespace DNSSD
00034 {
00035 class PublicServicePrivate;
00036
00061 class TDEDNSSD_EXPORT PublicService : public TQObject, public ServiceBase
00062 {
00063 Q_OBJECT
00064 public:
00073 PublicService(const TQString& name=TQString::null,const TQString& type=TQString::null,
00074 unsigned int port=0,const TQString& domain=TQString::null);
00075
00076 ~PublicService();
00077
00082 void stop();
00083
00088 bool publish();
00089
00093 bool isPublished() const;
00094
00100 void publishAsync();
00101
00105 void setTextData(const TQMap<TQString,TQString>& textData);
00106
00110 void setServiceName(const TQString& serviceName);
00111
00116 void setType(const TQString& type);
00117
00121 void setPort(unsigned short port);
00122
00127 void setDomain(const TQString& domain);
00128
00135 const KURL toInvitation(const TQString& host=TQString::null);
00136
00137 signals:
00142 void published(bool);
00143 private:
00144 PublicServicePrivate *d;
00145 bool fillEntryGroup();
00146 void tryApply();
00147 private slots:
00148 void clientState(AvahiClientState);
00149
00150 protected:
00151 virtual void customEvent(TQCustomEvent* event);
00152 virtual void virtual_hook(int, void*);
00153 };
00154
00155
00156 }
00157
00158 #endif