00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef DNSSDRESPONDER_H
00022 #define DNSSDRESPONDER_H
00023
00024 #include <qobject.h>
00025 #include <qsocketnotifier.h>
00026 #include <qsignal.h>
00027 #include <config.h>
00028
00029 #include <avahi-client/client.h>
00030 namespace DNSSD
00031 {
00032
00039 class Responder : public QObject
00040 {
00041 Q_OBJECT
00042
00043 public:
00044 Responder();
00045
00046 ~Responder();
00047
00048 static Responder& self();
00049 AvahiClientState state() const;
00050 AvahiClient* client() const { return m_client; }
00051 void process();
00052 signals:
00053 void stateChanged(AvahiClientState);
00054 private:
00055 AvahiClient* m_client;
00056 static Responder* m_self;
00057 friend void client_callback(AvahiClient*, AvahiClientState, void*);
00058
00059 };
00060
00061
00062
00063 bool domainIsLocal(const QString& domain);
00064
00065 QCString domainToDNS(const QString &domain);
00066 QString DNSToDomain(const char* domain);
00067
00068
00069 }
00070
00071 #endif