summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTarun Gupta <tarun1995gupta@gmail.com>2015-07-27 15:01:45 (GMT)
committerAlex Clayton <alex.clayton@isode.com>2016-01-12 11:31:04 (GMT)
commitb4cf2bb8d7b69d95b4a10d610ad259998d2aee5b (patch)
treeb942953236a7c712eed6ce4a5f261019691c0dca /src/com/isode/stroke/network/PlatformDomainNameResolver.java
parentc168fcd0c2468ec939b8d164175e9c5776a63147 (diff)
downloadstroke-b4cf2bb8d7b69d95b4a10d610ad259998d2aee5b.zip
stroke-b4cf2bb8d7b69d95b4a10d610ad259998d2aee5b.tar.bz2
Make Networks equivalent with Swiften.
Adds ProxyProviders, DomainNameResolvers and DummyConnection. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for ChainedConnector, Connector and HostAddress. Test also added for ComponentConnector, which needed bits of Network. Five assertions are commented in ConnectorTest, which fails and will be updated after review. Change-Id: I8a62841eb2f9c109bc3a94865b7a003b33493e11
Diffstat (limited to 'src/com/isode/stroke/network/PlatformDomainNameResolver.java')
-rw-r--r--src/com/isode/stroke/network/PlatformDomainNameResolver.java17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/com/isode/stroke/network/PlatformDomainNameResolver.java b/src/com/isode/stroke/network/PlatformDomainNameResolver.java
index 0b87e65..d7a4d35 100644
--- a/src/com/isode/stroke/network/PlatformDomainNameResolver.java
+++ b/src/com/isode/stroke/network/PlatformDomainNameResolver.java
@@ -16,6 +16,8 @@ import java.util.Collection;
import com.isode.stroke.eventloop.Event.Callback;
import com.isode.stroke.eventloop.EventLoop;
import com.isode.stroke.eventloop.EventOwner;
+import com.isode.stroke.idn.IDNConverter;
+import com.isode.stroke.idn.ICUConverter;
public class PlatformDomainNameResolver extends DomainNameResolver {
@@ -54,18 +56,25 @@ public class PlatformDomainNameResolver extends DomainNameResolver {
final EventLoop eventLoop;
}
- public PlatformDomainNameResolver(EventLoop eventLoop) {
+ public PlatformDomainNameResolver(IDNConverter idnConverter, EventLoop eventLoop) {
this.eventLoop_ = eventLoop;
+ this.idnConverter = idnConverter;
}
@Override
- public DomainNameServiceQuery createServiceQuery(String name) {
- return new PlatformDomainNameServiceQuery(getNormalized(name), eventLoop_);
+ public DomainNameServiceQuery createServiceQuery(String serviceLookupPrefix, String name) {
+ String encodedDomain = idnConverter.getIDNAEncoded(name);
+ String result = "";
+ if (encodedDomain != null) {
+ result = serviceLookupPrefix + encodedDomain;
+ }
+ return new PlatformDomainNameServiceQuery(result, eventLoop_);
}
@Override
public DomainNameAddressQuery createAddressQuery(String name) {
- return new AddressQuery(getNormalized(name), eventLoop_);
+ return new AddressQuery(idnConverter.getIDNAEncoded(name), eventLoop_);
}
private final EventLoop eventLoop_;
+ private IDNConverter idnConverter;
}