blob: f531b7f381d96f2bb7cc708fba790b6f2346bb59 [file] [log] [blame]
// Copyright 2020 The Chromium OS 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 "diagnostics/wilco_dtc_supportd/telemetry/system_info_service_impl.h"
#include <base/logging.h>
#include <base/strings/string_number_conversions.h>
#include <base/system/sys_info.h>
namespace diagnostics {
SystemInfoServiceImpl::SystemInfoServiceImpl() = default;
SystemInfoServiceImpl::~SystemInfoServiceImpl() = default;
bool SystemInfoServiceImpl::GetOsVersion(std::string* version_out) {
DCHECK(version_out);
if (!base::SysInfo::GetLsbReleaseValue("CHROMEOS_RELEASE_VERSION",
version_out)) {
LOG(ERROR) << "Could not read the release version";
return false;
}
return true;
}
bool SystemInfoServiceImpl::GetOsMilestone(int* milestone_out) {
DCHECK(milestone_out);
std::string milestone_str;
if (!base::SysInfo::GetLsbReleaseValue("CHROMEOS_RELEASE_CHROME_MILESTONE",
&milestone_str)) {
LOG(ERROR) << "Could not read the release milestone";
return false;
}
if (!base::StringToInt(milestone_str, milestone_out)) {
LOG(ERROR) << "Failed to convert the milestone '" << milestone_str
<< "' to integer.";
return false;
}
return true;
}
} // namespace diagnostics