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/lib/key_data_provider.h" 6 7 #include <optional> 8 #include <string> 9 10 namespace metrics::structured { 11 12 KeyDataProvider::KeyDataProvider() = default; 13 KeyDataProvider::~KeyDataProvider() = default; 14 AddObserver(KeyDataProvider::Observer * observer)15void KeyDataProvider::AddObserver(KeyDataProvider::Observer* observer) { 16 observers_.AddObserver(observer); 17 } 18 RemoveObserver(KeyDataProvider::Observer * observer)19void KeyDataProvider::RemoveObserver(KeyDataProvider::Observer* observer) { 20 observers_.RemoveObserver(observer); 21 } 22 NotifyKeyReady()23void KeyDataProvider::NotifyKeyReady() { 24 for (Observer& obs : observers_) { 25 obs.OnKeyReady(); 26 } 27 } 28 GetSecondaryId(const std::string & project_name)29std::optional<uint64_t> KeyDataProvider::GetSecondaryId( 30 const std::string& project_name) { 31 return std::nullopt; 32 } 33 34 } // namespace metrics::structured 35