1 // Copyright 2020 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef PRINTING_PRINTER_STATUS_H_
6 #define PRINTING_PRINTER_STATUS_H_
13 #include "base/component_export.h"
17 // Represents the status of a printer containing the properties printer-state,
18 // printer-state-reasons, and printer-state-message.
19 struct COMPONENT_EXPORT(PRINTING_BASE) PrinterStatus {
20 struct PrinterReason {
21 // This enum is used to record UMA histogram values and should not be
22 // reordered. Please keep in sync with PrinterStatusReasons in
23 // src/tools/metrics/histograms/enums.xml.
32 kConnectingToDevice = 7,
42 kInputTrayMissing = 17,
45 kOutputTrayMissing = 20,
46 kOutputAreaAlmostFull = 21,
48 kMarkerSupplyLow = 23,
49 kMarkerSupplyEmpty = 24,
50 kMarkerWasteAlmostFull = 25,
51 kMarkerWasteFull = 26,
58 kInterpreterResourceUnavailable = 33,
60 kMaxValue = kCupsPkiExpired
63 // Severity of the state-reason.
76 PrinterStatus(const PrinterStatus& other);
81 // printer-state-reasons
82 std::vector<PrinterReason> reasons;
83 // printer-state-message
87 } // namespace printing
89 #endif // PRINTING_PRINTER_STATUS_H_