chromium/components/ip_protection/common/ip_protection_data_types.h

// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_IP_PROTECTION_COMMON_IP_PROTECTION_DATA_TYPES_H_
#define COMPONENTS_IP_PROTECTION_COMMON_IP_PROTECTION_DATA_TYPES_H_

#include "base/time/time.h"

namespace ip_protection {

// The result of a fetch of tokens from the IP Protection auth token server.
//
// These values are persisted to logs. Entries should not be renumbered and
// numeric values should never be reused. Keep this in sync with
// IpProtectionTokenBatchRequestResult in enums.xml.
enum class TryGetAuthTokensResult {};

// The result of a fetch of tokens from the IP Protection auth token server on
// Android.
//
// These values are persisted to logs. Entries should not be renumbered and
// numeric values should never be reused. Keep this in sync with
// AwIpProtectionTokenBatchRequestResult in enums.xml.
enum class TryGetAuthTokensAndroidResult {};

// A GeoHint represents a course location of a user. Values are based on
// RFC 8805 geolocation.
struct GeoHint {};

// A blind-signed auth token, suitable for use with IP protection proxies.
struct BlindSignedAuthToken {};

// The proxy layer to fetch batches of tokens for.
//
// These values are persisted to logs. Entries should not be renumbered and
// numeric values should never be reused.
enum class ProxyLayer {};

}  // namespace ip_protection

#endif  // COMPONENTS_IP_PROTECTION_COMMON_IP_PROTECTION_DATA_TYPES_H_