diff options
author | Remko Tronçon <git@el-tramo.be> | 2009-12-05 08:00:18 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2009-12-05 08:00:18 (GMT) |
commit | 2e1bed9790ce11d856006aaa8692fed225cc10d3 (patch) | |
tree | 0c610d2ab404d978ac26d0bfbe523514487d1445 /Swiften/Network/CAresDomainNameResolver.cpp | |
parent | 897ad55ffee76c9e84ffb174d700f6182a3e7d0b (diff) | |
download | swift-2e1bed9790ce11d856006aaa8692fed225cc10d3.zip swift-2e1bed9790ce11d856006aaa8692fed225cc10d3.tar.bz2 |
Fixed C-Ares compilation on Windows.
Diffstat (limited to 'Swiften/Network/CAresDomainNameResolver.cpp')
-rw-r--r-- | Swiften/Network/CAresDomainNameResolver.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/Swiften/Network/CAresDomainNameResolver.cpp b/Swiften/Network/CAresDomainNameResolver.cpp index 6daba3d..c0bf8a0 100644 --- a/Swiften/Network/CAresDomainNameResolver.cpp +++ b/Swiften/Network/CAresDomainNameResolver.cpp @@ -1,55 +1,58 @@ // TODO: Check the second param of postEvent. We sometimes omit it. Same // goes for the PlatformDomainNameResolver. #include "Swiften/Network/CAresDomainNameResolver.h" +#include "Swiften/Base/Platform.h" +#ifndef SWIFTEN_PLATFORM_WINDOWS #include <netdb.h> #include <arpa/inet.h> +#endif #include <algorithm> #include "Swiften/Network/DomainNameServiceQuery.h" #include "Swiften/Network/DomainNameAddressQuery.h" #include "Swiften/Base/ByteArray.h" #include "Swiften/EventLoop/MainEventLoop.h" #include "Swiften/Base/foreach.h" namespace Swift { class CAresQuery : public boost::enable_shared_from_this<CAresQuery>, public EventOwner { public: CAresQuery(const String& query, int dnsclass, int type, CAresDomainNameResolver* resolver) : query(query), dnsclass(dnsclass), type(type), resolver(resolver) { } virtual ~CAresQuery() { } void addToQueue() { resolver->addToQueue(shared_from_this()); } void doRun(ares_channel* channel) { ares_query(*channel, query.getUTF8Data(), dnsclass, type, &CAresQuery::handleResult, this); } static void handleResult(void* arg, int status, int timeouts, unsigned char* buffer, int len) { reinterpret_cast<CAresQuery*>(arg)->handleResult(status, timeouts, buffer, len); } virtual void handleResult(int status, int, unsigned char* buffer, int len) = 0; private: String query; int dnsclass; int type; CAresDomainNameResolver* resolver; }; class CAresDomainNameServiceQuery : public DomainNameServiceQuery, public CAresQuery { public: CAresDomainNameServiceQuery(const String& service, CAresDomainNameResolver* resolver) : CAresQuery(service, 1, 33, resolver) { } virtual void run() { addToQueue(); } |