Index: printing/backend/print_backend.h |
=================================================================== |
--- printing/backend/print_backend.h (revision 153539) |
+++ printing/backend/print_backend.h (working copy) |
@@ -10,6 +10,7 @@ |
#include <vector> |
#include "base/memory/ref_counted.h" |
+#include "printing/print_job_constants.h" |
#include "printing/printing_export.h" |
namespace base { |
@@ -32,6 +33,19 @@ |
typedef std::vector<PrinterBasicInfo> PrinterList; |
+struct PRINTING_EXPORT PrinterSemanticCapsAndDefaults { |
+ PrinterSemanticCapsAndDefaults(); |
+ ~PrinterSemanticCapsAndDefaults(); |
+ |
+ // Capabilities. |
+ bool color_capable; |
+ bool duplex_capable; |
+ |
+ // Current defaults. |
+ bool color_default; |
+ DuplexMode duplex_default; |
+}; |
+ |
struct PRINTING_EXPORT PrinterCapsAndDefaults { |
PrinterCapsAndDefaults(); |
~PrinterCapsAndDefaults(); |
@@ -58,6 +72,14 @@ |
// Get the default printer name. Empty string if no default printer. |
virtual std::string GetDefaultPrinterName() = 0; |
+ // Gets the semantic capabilities and defaults for a specific printer. |
+ // This is usually a lighter implementation than GetPrinterCapsAndDefaults(). |
+ // NOTE: on some old platforms (WinXP without XPS pack) |
+ // GetPrinterCapsAndDefaults() will fail, while this function will succeed. |
+ virtual bool GetPrinterSemanticCapsAndDefaults( |
+ const std::string& printer_name, |
+ PrinterSemanticCapsAndDefaults* printer_info) = 0; |
+ |
// Gets the capabilities and defaults for a specific printer. |
virtual bool GetPrinterCapsAndDefaults( |
const std::string& printer_name, |