| // Copyright 2019 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/printing/ppd_resolution_state.h" | 
 |  | 
 | #include "base/check.h" | 
 |  | 
 | namespace ash { | 
 |  | 
 | PpdResolutionState::PpdResolutionState() | 
 |     : is_inflight_(true), | 
 |       is_ppd_resolution_successful_(false), | 
 |       is_not_autoconfigurable_(false) {} | 
 | PpdResolutionState::PpdResolutionState(PpdResolutionState&& other) = default; | 
 | PpdResolutionState& PpdResolutionState::operator=(PpdResolutionState&& rhs) = | 
 |     default; | 
 | PpdResolutionState::~PpdResolutionState() = default; | 
 |  | 
 | void PpdResolutionState::MarkResolutionSuccessful( | 
 |     const chromeos::Printer::PpdReference& ppd_reference) { | 
 |   DCHECK(is_inflight_); | 
 |  | 
 |   ppd_reference_ = ppd_reference; | 
 |   is_inflight_ = false; | 
 |   is_ppd_resolution_successful_ = true; | 
 | } | 
 |  | 
 | void PpdResolutionState::MarkResolutionFailed() { | 
 |   DCHECK(is_inflight_); | 
 |  | 
 |   is_inflight_ = false; | 
 |   is_ppd_resolution_successful_ = false; | 
 | } | 
 |  | 
 | void PpdResolutionState::SetUsbManufacturer( | 
 |     const std::string& usb_manufacturer) { | 
 |   DCHECK(!is_inflight_); | 
 |   DCHECK(!is_ppd_resolution_successful_); | 
 |  | 
 |   usb_manufacturer_ = usb_manufacturer; | 
 | } | 
 |  | 
 | const chromeos::Printer::PpdReference& PpdResolutionState::GetPpdReference() | 
 |     const { | 
 |   DCHECK(!is_inflight_); | 
 |   DCHECK(is_ppd_resolution_successful_); | 
 |   return ppd_reference_; | 
 | } | 
 |  | 
 | const std::string& PpdResolutionState::GetUsbManufacturer() const { | 
 |   DCHECK(!is_inflight_); | 
 |   return usb_manufacturer_; | 
 | } | 
 |  | 
 | bool PpdResolutionState::IsInflight() const { | 
 |   return is_inflight_; | 
 | } | 
 |  | 
 | bool PpdResolutionState::WasResolutionSuccessful() const { | 
 |   return is_ppd_resolution_successful_; | 
 | } | 
 |  | 
 | void PpdResolutionState::MarkPrinterAsNotAutoconfigurable() { | 
 |   is_not_autoconfigurable_ = true; | 
 | } | 
 |  | 
 | bool PpdResolutionState::IsMarkedAsNotAutoconfigurable() const { | 
 |   return is_not_autoconfigurable_; | 
 | } | 
 |  | 
 | }  // namespace ash |