chromium/components/ukm/ukm_recorder_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_UKM_UKM_RECORDER_OBSERVER_H_
#define COMPONENTS_UKM_UKM_RECORDER_OBSERVER_H_

#include <vector>

#include "base/observer_list_types.h"
#include "components/ukm/ukm_consent_state.h"
#include "services/metrics/public/cpp/ukm_source_id.h"
#include "services/metrics/public/mojom/ukm_interface.mojom.h"
#include "url/gurl.h"

namespace ukm {

// Base class for observing UkmRecorderImpl. This object is notified when
// a new UKM entry is added, or when a source URL is updated, or when
// entries are purged. Observers are notified even if |recording_enabled_| is
// false. All the methods are notified on the same SequencedTaskRunner
// on which the observer is added.
class COMPONENT_EXPORT(UKM_RECORDER) UkmRecorderObserver
    : public base::CheckedObserver {};

}  // namespace ukm

#endif  // COMPONENTS_UKM_UKM_RECORDER_OBSERVER_H_