blob: 8f45183cc6177e699dbfaccf3bc53bb3a1d746e3 [file] [log] [blame]
// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef NET_DNS_PUBLIC_SECURE_DNS_MODE_H_
#define NET_DNS_PUBLIC_SECURE_DNS_MODE_H_
#include "base/containers/fixed_flat_map.h"
#include "base/strings/string_piece.h"
namespace net {
// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.net
// The SecureDnsMode specifies what types of lookups (secure/insecure) should
// be performed and in what order when resolving a specific query. The int
// values should not be changed as they are logged.
enum class SecureDnsMode : int {
// In OFF mode, no DoH lookups should be performed.
kOff = 0,
// In AUTOMATIC mode, DoH lookups should be performed first if DoH is
// available, and insecure DNS lookups should be performed as a fallback.
kAutomatic = 1,
// In SECURE mode, only DoH lookups should be performed.
kSecure = 2,
};
inline constexpr auto kSecureDnsModes =
base::MakeFixedFlatMap<SecureDnsMode, base::StringPiece>(
{{SecureDnsMode::kOff, "Off"},
{SecureDnsMode::kAutomatic, "Automatic"},
{SecureDnsMode::kSecure, "Secure"}});
} // namespace net
#endif // NET_DNS_PUBLIC_SECURE_DNS_MODE_H_