chromium/components/subresource_filter/core/browser/ruleset_version.h

// Copyright 2018 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_SUBRESOURCE_FILTER_CORE_BROWSER_RULESET_VERSION_H_
#define COMPONENTS_SUBRESOURCE_FILTER_CORE_BROWSER_RULESET_VERSION_H_

#include <memory>
#include <string>
#include <string_view>

#include "base/files/file_path.h"
#include "components/subresource_filter/core/browser/subresource_filter_constants.h"

class PrefRegistrySimple;
class PrefService;

namespace base::trace_event {
class TracedValue;
} // namespace base::trace_event


namespace subresource_filter {

// Encapsulates information about a version of unindexed subresource
// filtering rules on disk.
struct UnindexedRulesetInfo {};

// Encapsulates the combination of the binary format version of the indexed
// ruleset, and the version of the ruleset contents.
//
// In contrast to the unindexed ruleset, the binary format of the index data
// structures is expected to evolve over time, so the indexed ruleset is
// identified by a pair of versions: the content version of the rules that have
// been indexed; and the binary format version of the indexed data structures.
// It also contains a checksum of the data to ensure it hasn't been corrupted
// and a filter tag string to identify the type of filter the ruleset is used
// for as well as the names of prefs that store the current version.
struct IndexedRulesetVersion {};

}  // namespace subresource_filter

#endif  // COMPONENTS_SUBRESOURCE_FILTER_CORE_BROWSER_RULESET_VERSION_H_