chromium/components/metrics/structured/key_data_provider_file.h

// Copyright 2023 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_METRICS_STRUCTURED_KEY_DATA_PROVIDER_FILE_H_
#define COMPONENTS_METRICS_STRUCTURED_KEY_DATA_PROVIDER_FILE_H_

#include <memory>
#include <optional>

#include "base/barrier_closure.h"
#include "base/files/file_path.h"
#include "base/memory/weak_ptr.h"
#include "base/time/time.h"
#include "components/metrics/structured/lib/key_data_provider.h"

namespace metrics::structured {

// KeyDataProvider implementation that stores the keys in a file.
//
// (b/316198668): Explore to remove this layer of abstraction since it should
// not be needed anymore.
class KeyDataProviderFile : public KeyDataProvider, KeyDataProvider::Observer {};

}  // namespace metrics::structured

#endif  // COMPONENTS_METRICS_STRUCTURED_KEY_DATA_PROVIDER_FILE_H_