remoteservice.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef DNSSDREMOTESERVICE_H
00022 #define DNSSDREMOTESERVICE_H
00023
00024 #include <qobject.h>
00025 #include <dnssd/servicebase.h>
00026
00027 class QDataStream;
00028 class KURL;
00029 namespace DNSSD
00030 {
00031 class RemoteServicePrivate;
00032
00042 class KDNSSD_EXPORT RemoteService : public QObject, public ServiceBase
00043 {
00044 Q_OBJECT
00045 public:
00046 typedef KSharedPtr<RemoteService> Ptr;
00047
00053 RemoteService(const QString& label);
00054
00058 RemoteService(const QString& name,const QString& type,const QString& domain);
00059
00064 RemoteService(const KURL& url);
00065
00066 virtual ~RemoteService();
00067
00073 void resolveAsync();
00074
00080 bool resolve();
00081
00085 bool isResolved() const;
00086
00087 signals:
00093 void resolved(bool);
00094
00095 protected:
00096 virtual void virtual_hook(int id, void *data);
00097 virtual void customEvent(QCustomEvent* event);
00098 private:
00099 void resolveError();
00100 void resolved(const char *host, unsigned short port, unsigned short txtlen,
00101 const char* txtRecord);
00102 RemoteServicePrivate *d;
00103
00104 friend KDNSSD_EXPORT QDataStream & operator<< (QDataStream & s, const RemoteService & a);
00105 friend KDNSSD_EXPORT QDataStream & operator>> (QDataStream & s, RemoteService & a);
00106
00107 };
00108
00109 }
00110
00111 #endif
|