blob: ea5dfd053fef61692b9927cf798144de9abd7d01 [file] [log] [blame]
// Copyright 2021 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/metrics/structured/neutrino_logging_util.h"
#include "components/metrics/metrics_pref_names.h"
#include "components/metrics/structured/structured_mojo_events.h"
namespace metrics {
namespace structured {
void NeutrinoDevicesLogWithLocalState(PrefService* local_state,
NeutrinoDevicesLocation location) {
auto code_point = events::v2::neutrino_devices::CodePoint();
if (local_state &&
local_state->HasPrefPath(metrics::prefs::kMetricsClientID)) {
const std::string client_id =
local_state->GetString(metrics::prefs::kMetricsClientID);
if (!client_id.empty())
code_point.SetClientId(client_id);
}
code_point.SetLocation(static_cast<int64_t>(location)).Record();
}
void NeutrinoDevicesLogEnrollmentWithLocalState(
PrefService* local_state,
bool is_managed,
NeutrinoDevicesLocation location) {
auto enrollment = events::v2::neutrino_devices::Enrollment();
if (local_state &&
local_state->HasPrefPath(metrics::prefs::kMetricsClientID)) {
const std::string client_id =
local_state->GetString(metrics::prefs::kMetricsClientID);
if (!client_id.empty())
enrollment.SetClientId(client_id);
}
enrollment.SetIsManagedPolicy(is_managed)
.SetLocation(static_cast<int64_t>(location))
.Record();
}
} // namespace structured
} // namespace metrics