// 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.jni_zero.CalledByNative; import org.jni_zero.JNINamespace; import java.net.InetAddress; import java.util.List; /** Class to access DNS server configuration. */ @JNINamespace("net::android") public class DnsStatus { private final List mDnsServers; private final boolean mPrivateDnsActive; private final String mPrivateDnsServerName; private final String mSearchDomains; public DnsStatus( List 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; } }