|  | // Copyright 2021 The Chromium Authors | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | #include "chrome/browser/ash/crosapi/structured_metrics_service_ash.h" | 
|  |  | 
|  | #include "chromeos/crosapi/mojom/structured_metrics_service.mojom.h" | 
|  | #include "components/metrics/structured/event.h" | 
|  | #include "components/metrics/structured/recorder.h" | 
|  | #include "mojo/public/cpp/bindings/pending_receiver.h" | 
|  | #include "mojo/public/cpp/bindings/receiver_set.h" | 
|  |  | 
|  | namespace crosapi { | 
|  |  | 
|  | StructuredMetricsServiceAsh::StructuredMetricsServiceAsh() = default; | 
|  | StructuredMetricsServiceAsh::~StructuredMetricsServiceAsh() = default; | 
|  |  | 
|  | void StructuredMetricsServiceAsh::BindReceiver( | 
|  | mojo::PendingReceiver<mojom::StructuredMetricsService> receiver) { | 
|  | receivers_.Add(this, std::move(receiver)); | 
|  | } | 
|  |  | 
|  | void StructuredMetricsServiceAsh::Record( | 
|  | std::vector<::metrics::structured::Event> events) { | 
|  | for (auto& event : events) { | 
|  | metrics::structured::Recorder::GetInstance()->RecordEvent(std::move(event)); | 
|  | } | 
|  | } | 
|  |  | 
|  | }  // namespace crosapi |