| // 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. |
| |
| #ifndef CHROME_BROWSER_ASH_PRINTING_CUPS_PRINT_JOB_MANAGER_UTILS_H_ |
| #define CHROME_BROWSER_ASH_PRINTING_CUPS_PRINT_JOB_MANAGER_UTILS_H_ |
| |
| namespace printing { |
| class PrintedDocument; |
| struct PrinterStatus; |
| struct CupsJob; |
| } // namespace printing |
| |
| namespace ash { |
| class CupsPrintJob; |
| |
| // Updates the state of a print job based on `printer_status` and `job`. |
| // Returns true if `print_job` has been modified. |
| bool UpdatePrintJob(const ::printing::PrinterStatus& printer_status, |
| const ::printing::CupsJob& job, |
| CupsPrintJob* print_job); |
| |
| // Determines the correct total_page_count for a print job given the number of |
| // pages in the document and copies being made. |
| int CalculatePrintJobTotalPages(const ::printing::PrintedDocument* document); |
| |
| } // namespace ash |
| |
| #endif // CHROME_BROWSER_ASH_PRINTING_CUPS_PRINT_JOB_MANAGER_UTILS_H_ |