dnssd
responder.h
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 <tqobject.h>
00025 #include <tqsocketnotifier.h>
00026 #include <tqsignal.h>
00027 #include <config.h>
00028 #ifdef HAVE_DNSSD
00029 #include <avahi-client/client.h>
00030 #else
00031 #define DNSServiceRef void*
00032 #define AvahiClientState void*
00033 #endif
00034
00035 namespace DNSSD
00036 {
00037
00044 class Responder : public TQObject
00045 {
00046 Q_OBJECT
00047
00048 public:
00049 Responder();
00050
00051 ~Responder();
00052
00053 static Responder& self();
00054 #ifdef HAVE_DNSSD
00055 AvahiClientState state() const;
00056 AvahiClient* client() const { return m_client; }
00057 #endif
00058 void process();
00059 signals:
00060 void stateChanged(AvahiClientState);
00061 private:
00062 #ifdef HAVE_DNSSD
00063 AvahiClient* m_client;
00064 #endif
00065 static Responder* m_self;
00066 #ifdef HAVE_DNSSD
00067 friend void client_callback(AvahiClient*, AvahiClientState, void*);
00068 #endif
00069
00070 };
00071
00072
00073
00074 bool domainIsLocal(const TQString& domain);
00075
00076 TQCString domainToDNS(const TQString &domain);
00077 TQString DNSToDomain(const char* domain);
00078
00079
00080 }
00081
00082 #endif