kextsocklookup.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KEXTSOCKLOOKUP_H
00022 #define KEXTSOCKLOOKUP_H
00023
00024 #include <qdns.h>
00025 #include "kidna.h"
00026 #include "netsupp.h"
00027
00039 class KExtendedSocketLookup: public QObject
00040 {
00041 Q_OBJECT
00042 public:
00043 QDns dnsIpv4, dnsIpv6;
00044 int workingCount;
00045 const QString& servname;
00046 addrinfo hint;
00047
00048 KExtendedSocketLookup(const QString& hostname, const QString& servname, const addrinfo& hint) :
00049 dnsIpv4(KIDNA::toAscii(hostname), QDns::A), dnsIpv6(KIDNA::toAscii(hostname), QDns::Aaaa), workingCount(2),
00050 servname(servname), hint(hint)
00051 {
00052 connect(&dnsIpv4, SIGNAL(resultsReady()), this, SLOT(slotResultsReady()));
00053 connect(&dnsIpv6, SIGNAL(resultsReady()), this, SLOT(slotResultsReady()));
00054 }
00055
00056 inline bool isWorking() const
00057 { return workingCount; }
00058
00059 kde_addrinfo *results();
00060 static void freeresults(kde_addrinfo* res);
00061
00062 public slots:
00063 void slotResultsReady()
00064 {
00065 if (--workingCount == 0)
00066 emit resultsReady();
00067 }
00068
00069 signals:
00070 void resultsReady();
00071
00072 public:
00073 friend class KExtendedSocket;
00074 };
00075
00076 #endif
This file is part of the documentation for kdecore Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Apr 21 18:42:56 2004 by
doxygen 1.3.6-20040222 written by
Dimitri van Heesch, © 1997-2003