blob: cd70636f39598a55bba45867e15252ae140622dd [file] [log] [blame]
// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.net;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.JNINamespace;
import java.net.InetAddress;
import java.util.List;
/**
* Class to access DNS server configuration.
*/
@JNINamespace("net::android")
public class DnsStatus {
private final List<InetAddress> mDnsServers;
private final boolean mPrivateDnsActive;
private final String mPrivateDnsServerName;
private final String mSearchDomains;
public DnsStatus(List<InetAddress> dnsServers, boolean privateDnsActive,
String privateDnsServerName, String searchDomains) {
mDnsServers = dnsServers;
mPrivateDnsActive = privateDnsActive;
mPrivateDnsServerName = (privateDnsServerName != null) ? privateDnsServerName : "";
mSearchDomains = (searchDomains != null) ? searchDomains : "";
}
@CalledByNative
public byte[][] getDnsServers() {
byte[][] dnsServers = new byte[mDnsServers.size()][];
for (int i = 0; i < mDnsServers.size(); i++) {
dnsServers[i] = mDnsServers.get(i).getAddress();
}
return dnsServers;
}
@CalledByNative
public boolean getPrivateDnsActive() {
return mPrivateDnsActive;
}
@CalledByNative
public String getPrivateDnsServerName() {
return mPrivateDnsServerName;
}
@CalledByNative
public String getSearchDomains() {
return mSearchDomains;
}
}