print_settings_conversion.h 1006 B

12345678910111213141516171819202122232425262728293031323334
  1. // Copyright 2014 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef PRINTING_PRINT_SETTINGS_CONVERSION_H_
  5. #define PRINTING_PRINT_SETTINGS_CONVERSION_H_
  6. #include <memory>
  7. #include "base/component_export.h"
  8. #include "base/values.h"
  9. #include "printing/page_range.h"
  10. namespace printing {
  11. class PrintSettings;
  12. COMPONENT_EXPORT(PRINTING)
  13. PageRanges GetPageRangesFromJobSettings(const base::Value::Dict& job_settings);
  14. // Returns nullptr on failure.
  15. COMPONENT_EXPORT(PRINTING)
  16. std::unique_ptr<PrintSettings> PrintSettingsFromJobSettings(
  17. const base::Value::Dict& job_settings);
  18. // Use for debug/test only, because output is not completely consistent with
  19. // format of `PrintSettingsFromJobSettings` input.
  20. COMPONENT_EXPORT(PRINTING)
  21. base::Value::Dict PrintSettingsToJobSettingsDebug(
  22. const PrintSettings& settings);
  23. } // namespace printing
  24. #endif // PRINTING_PRINT_SETTINGS_CONVERSION_H_