diff options
Diffstat (limited to 'chrome/service/cloud_print/print_system_win.cc')
-rw-r--r-- | chrome/service/cloud_print/print_system_win.cc | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/chrome/service/cloud_print/print_system_win.cc b/chrome/service/cloud_print/print_system_win.cc index 77272d6..ea5ede2 100644 --- a/chrome/service/cloud_print/print_system_win.cc +++ b/chrome/service/cloud_print/print_system_win.cc @@ -239,7 +239,15 @@ class PrintSystemWin : public PrintSystem { PrintSystemWin(); // PrintSystem implementation. - virtual printing::PrintBackend* GetPrintBackend(); + virtual void Init(); + + virtual void EnumeratePrinters(printing::PrinterList* printer_list); + + virtual bool GetPrinterCapsAndDefaults( + const std::string& printer_name, + printing::PrinterCapsAndDefaults* printer_info); + + virtual bool IsValidPrinter(const std::string& printer_name); virtual bool ValidatePrintTicket(const std::string& printer_name, const std::string& print_ticket_data); @@ -508,21 +516,28 @@ class PrintSystemWin : public PrintSystem { virtual PrintSystem::JobSpooler* CreateJobSpooler(); private: - void Init(); - scoped_refptr<printing::PrintBackend> print_backend_; }; PrintSystemWin::PrintSystemWin() { - Init(); + print_backend_ = printing::PrintBackend::CreateInstance(NULL); } void PrintSystemWin::Init() { - print_backend_ = printing::PrintBackend::CreateInstance(NULL); } -printing::PrintBackend* PrintSystemWin::GetPrintBackend() { - return print_backend_; +void PrintSystemWin::EnumeratePrinters(printing::PrinterList* printer_list) { + print_backend_->EnumeratePrinters(printer_list); +} + +bool PrintSystemWin::GetPrinterCapsAndDefaults( + const std::string& printer_name, + printing::PrinterCapsAndDefaults* printer_info) { + return print_backend_->GetPrinterCapsAndDefaults(printer_name, printer_info); +} + +bool PrintSystemWin::IsValidPrinter(const std::string& printer_name) { + return print_backend_->IsValidPrinter(printer_name); } bool PrintSystemWin::ValidatePrintTicket( |