chromium/components/plus_addresses/plus_address_blocklist_data.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_PLUS_ADDRESSES_PLUS_ADDRESS_BLOCKLIST_DATA_H_
#define COMPONENTS_PLUS_ADDRESSES_PLUS_ADDRESS_BLOCKLIST_DATA_H_

#include <string>

#include "base/sequence_checker.h"
#include "third_party/re2/src/re2/re2.h"

namespace plus_addresses {

// Possible states of parsing the response body when a fetch completes in
// `PlusAddressBlocklistData`.
//
// Needs to be kept in sync with `PlusAddressBlocklistDataParsingResult` in
// tools/metrics/histograms/metadata/plus_addresses/enums.xml.
//
// These values are persisted to logs. Entries should not be renumbered and
// numeric values should never be reused.
enum class PlusAddressBlocklistDataParsingResult {};

// This holds the set of patterns that define the set of facets for which Plus
// Addresses should not be offered. The data to populate it is read from the
// Component Updater, which fetches it periodically from Google to get the
// most up-to-date patterns.
class PlusAddressBlocklistData final {};
}  // namespace plus_addresses

#endif  // COMPONENTS_PLUS_ADDRESSES_PLUS_ADDRESS_BLOCKLIST_DATA_H_