| // 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. |
| |
| #ifndef CHROME_BROWSER_CHROMEOS_PRINTING_PRINTER_ERROR_CODES_H_ |
| #define CHROME_BROWSER_CHROMEOS_PRINTING_PRINTER_ERROR_CODES_H_ |
| |
| namespace printing { |
| struct PrinterStatus; |
| } // namespace printing |
| |
| namespace chromeos { |
| |
| // PrinterErrorCode can be derived either from PrinterStatus or JobStateReason. |
| enum class PrinterErrorCode { |
| NO_ERROR, |
| PAPER_JAM, |
| OUT_OF_PAPER, |
| OUT_OF_INK, |
| DOOR_OPEN, |
| PRINTER_UNREACHABLE, |
| TRAY_MISSING, |
| OUTPUT_FULL, |
| STOPPED, |
| FILTER_FAILED, |
| UNKNOWN_ERROR, |
| CLIENT_UNAUTHORIZED, |
| EXPIRED_CERTIFICATE, |
| }; |
| |
| // Extracts an PrinterErrorCode from PrinterStatus#reasons. Returns NO_ERROR if |
| // there are no reasons which indicate an error. |
| PrinterErrorCode PrinterErrorCodeFromPrinterStatusReasons( |
| const ::printing::PrinterStatus& printer_status); |
| |
| } // namespace chromeos |
| |
| #endif // CHROME_BROWSER_CHROMEOS_PRINTING_PRINTER_ERROR_CODES_H_ |