• 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.jni_zero.CalledByNative;
8 import org.jni_zero.JNINamespace;
9 
10 import java.net.InetAddress;
11 import java.util.List;
12 
13 /** Class to access DNS server configuration. */
14 @JNINamespace("net::android")
15 public class DnsStatus {
16     private final List<InetAddress> mDnsServers;
17 
18     private final boolean mPrivateDnsActive;
19 
20     private final String mPrivateDnsServerName;
21 
22     private final String mSearchDomains;
23 
DnsStatus( List<InetAddress> dnsServers, boolean privateDnsActive, String privateDnsServerName, String searchDomains)24     public DnsStatus(
25             List<InetAddress> dnsServers,
26             boolean privateDnsActive,
27             String privateDnsServerName,
28             String searchDomains) {
29         mDnsServers = dnsServers;
30         mPrivateDnsActive = privateDnsActive;
31         mPrivateDnsServerName = (privateDnsServerName != null) ? privateDnsServerName : "";
32         mSearchDomains = (searchDomains != null) ? searchDomains : "";
33     }
34 
35     @CalledByNative
getDnsServers()36     public byte[][] getDnsServers() {
37         byte[][] dnsServers = new byte[mDnsServers.size()][];
38         for (int i = 0; i < mDnsServers.size(); i++) {
39             dnsServers[i] = mDnsServers.get(i).getAddress();
40         }
41         return dnsServers;
42     }
43 
44     @CalledByNative
getPrivateDnsActive()45     public boolean getPrivateDnsActive() {
46         return mPrivateDnsActive;
47     }
48 
49     @CalledByNative
getPrivateDnsServerName()50     public String getPrivateDnsServerName() {
51         return mPrivateDnsServerName;
52     }
53 
54     @CalledByNative
getSearchDomains()55     public String getSearchDomains() {
56         return mSearchDomains;
57     }
58 }
59