• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2019 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 package org.chromium.net;
6 
7 import org.chromium.base.annotations.CalledByNative;
8 import org.chromium.base.annotations.JNINamespace;
9 
10 import java.net.InetAddress;
11 import java.util.List;
12 
13 /**
14  * Class to access DNS server configuration.
15  */
16 @JNINamespace("net::android")
17 public class DnsStatus {
18     private final List<InetAddress> mDnsServers;
19 
20     private final boolean mPrivateDnsActive;
21 
22     private final String mPrivateDnsServerName;
23 
24     private final String mSearchDomains;
25 
DnsStatus(List<InetAddress> dnsServers, boolean privateDnsActive, String privateDnsServerName, String searchDomains)26     public DnsStatus(List<InetAddress> dnsServers, boolean privateDnsActive,
27             String privateDnsServerName, String searchDomains) {
28         mDnsServers = dnsServers;
29         mPrivateDnsActive = privateDnsActive;
30         mPrivateDnsServerName = (privateDnsServerName != null) ? privateDnsServerName : "";
31         mSearchDomains = (searchDomains != null) ? searchDomains : "";
32     }
33 
34     @CalledByNative
getDnsServers()35     public byte[][] getDnsServers() {
36         byte[][] dnsServers = new byte[mDnsServers.size()][];
37         for (int i = 0; i < mDnsServers.size(); i++) {
38             dnsServers[i] = mDnsServers.get(i).getAddress();
39         }
40         return dnsServers;
41     }
42 
43     @CalledByNative
getPrivateDnsActive()44     public boolean getPrivateDnsActive() {
45         return mPrivateDnsActive;
46     }
47 
48     @CalledByNative
getPrivateDnsServerName()49     public String getPrivateDnsServerName() {
50         return mPrivateDnsServerName;
51     }
52 
53     @CalledByNative
getSearchDomains()54     public String getSearchDomains() {
55         return mSearchDomains;
56     }
57 }
58