1 // Copyright 2023 The Chromium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "components/metrics/structured/key_data_provider.h" 6 7 namespace metrics::structured { 8 9 KeyDataProvider::KeyDataProvider() = default; 10 KeyDataProvider::~KeyDataProvider() = default; 11 AddObserver(KeyDataProvider::Observer * observer)12void KeyDataProvider::AddObserver(KeyDataProvider::Observer* observer) { 13 observers_.AddObserver(observer); 14 } 15 RemoveObserver(KeyDataProvider::Observer * observer)16void KeyDataProvider::RemoveObserver(KeyDataProvider::Observer* observer) { 17 observers_.RemoveObserver(observer); 18 } 19 NotifyKeyReady()20void KeyDataProvider::NotifyKeyReady() { 21 for (Observer& obs : observers_) { 22 obs.OnKeyReady(); 23 } 24 } 25 26 } // namespace metrics::structured 27