1 // Copyright 2013 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 5 #ifndef CHROME_SERVICE_CLOUD_PRINT_PRINT_SYSTEM_WIN_H_ 6 #define CHROME_SERVICE_CLOUD_PRINT_PRINT_SYSTEM_WIN_H_ 7 8 #include "chrome/service/cloud_print/print_system.h" 9 10 namespace cloud_print { 11 12 class PrintSystemWin : public PrintSystem { 13 public: 14 PrintSystemWin(); 15 virtual ~PrintSystemWin(); 16 17 // PrintSystem implementation. 18 virtual PrintSystem::PrintSystemResult EnumeratePrinters( 19 printing::PrinterList* printer_list) OVERRIDE; 20 virtual bool IsValidPrinter(const std::string& printer_name) OVERRIDE; 21 virtual bool GetJobDetails(const std::string& printer_name, 22 PlatformJobId job_id, 23 PrintJobDetails *job_details) OVERRIDE; 24 virtual PrintSystem::PrintServerWatcher* CreatePrintServerWatcher() OVERRIDE; 25 virtual PrintSystem::PrinterWatcher* CreatePrinterWatcher( 26 const std::string& printer_name) OVERRIDE; 27 28 protected: 29 std::string GetPrinterDriverInfo(const std::string& printer_name) const; 30 31 private: 32 scoped_refptr<printing::PrintBackend> print_backend_; 33 }; 34 35 } // namespace cloud_print 36 37 #endif // CHROME_SERVICE_CLOUD_PRINT_PRINT_SYSTEM_WIN_H_ 38