ukm_recorder_interface.cc 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. // Copyright 2017 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "services/metrics/ukm_recorder_interface.h"
  5. #include "base/atomic_sequence_num.h"
  6. #include "mojo/public/cpp/bindings/self_owned_receiver.h"
  7. #include "services/metrics/public/cpp/ukm_recorder.h"
  8. #include "services/metrics/public/cpp/ukm_source_id.h"
  9. #include "url/gurl.h"
  10. namespace metrics {
  11. UkmRecorderInterface::UkmRecorderInterface(ukm::UkmRecorder* ukm_recorder)
  12. : ukm_recorder_(ukm_recorder) {}
  13. UkmRecorderInterface::~UkmRecorderInterface() = default;
  14. // static
  15. void UkmRecorderInterface::Create(
  16. ukm::UkmRecorder* ukm_recorder,
  17. mojo::PendingReceiver<ukm::mojom::UkmRecorderInterface> receiver) {
  18. mojo::MakeSelfOwnedReceiver(
  19. std::make_unique<UkmRecorderInterface>(ukm_recorder),
  20. std::move(receiver));
  21. }
  22. void UkmRecorderInterface::AddEntry(ukm::mojom::UkmEntryPtr ukm_entry) {
  23. ukm_recorder_->AddEntry(std::move(ukm_entry));
  24. }
  25. void UkmRecorderInterface::UpdateSourceURL(int64_t source_id,
  26. const std::string& url) {
  27. ukm_recorder_->UpdateSourceURL(source_id, GURL(url));
  28. }
  29. } // namespace metrics