chromium/components/reporting/metrics/metric_event_observer.h

// Copyright 2022 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_REPORTING_METRICS_METRIC_EVENT_OBSERVER_H_
#define COMPONENTS_REPORTING_METRICS_METRIC_EVENT_OBSERVER_H_

#include "base/functional/callback.h"
#include "components/reporting/proto/synced/metric_data.pb.h"

namespace reporting {

MetricRepeatingCallback;

// A `MetricEventObserver` object should observe events and report them using
// the `MetricRepeatingCallback` set using `SetOnEventObservedCallback`.
// Whether the object should observe/report events is controlled by is_enabled
// set using `SetReportingEnabled`.
class MetricEventObserver {};

}  // namespace reporting

#endif  // COMPONENTS_REPORTING_METRICS_METRIC_EVENT_OBSERVER_H_