chromium/ash/webui/eche_app_ui/system_info.cc

// 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 "ash/webui/eche_app_ui/system_info.h"

#include "base/memory/ptr_util.h"

namespace ash::eche_app {

SystemInfo::Builder::Builder() = default;

SystemInfo::Builder::~Builder() = default;

std::unique_ptr<SystemInfo> SystemInfo::Builder::Build() {
  return base::WrapUnique(new SystemInfo(device_name_, board_name_, gaia_id_,
                                         device_type_, os_version_, channel_));
}

SystemInfo::Builder& SystemInfo::Builder::SetDeviceName(
    const std::string& device_name) {
  device_name_ = device_name;
  return *this;
}

SystemInfo::Builder& SystemInfo::Builder::SetBoardName(
    const std::string& board_name) {
  board_name_ = board_name;
  return *this;
}

SystemInfo::Builder& SystemInfo::Builder::SetGaiaId(
    const std::string& gaia_id) {
  gaia_id_ = gaia_id;
  return *this;
}

SystemInfo::Builder& SystemInfo::Builder::SetDeviceType(
    const std::string& device_type) {
  device_type_ = device_type;
  return *this;
}

SystemInfo::Builder& SystemInfo::Builder::SetOsVersion(
    const std::string& os_version) {
  os_version_ = os_version;
  return *this;
}

SystemInfo::Builder& SystemInfo::Builder::SetChannel(
    const std::string& channel) {
  channel_ = channel;
  return *this;
}

SystemInfo::SystemInfo(const SystemInfo& other) = default;

SystemInfo::~SystemInfo() = default;

SystemInfo::SystemInfo(const std::string& device_name,
                       const std::string& board_name,
                       const std::string& gaia_id,
                       const std::string& device_type,
                       const std::string& os_version,
                       const std::string& channel)
    : device_name_(device_name),
      board_name_(board_name),
      gaia_id_(gaia_id),
      device_type_(device_type),
      os_version_(os_version),
      channel_(channel) {}

}  // namespace ash::eche_app