1 // Copyright (c) 2012 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 #include "printing/backend/print_backend.h" 6 7 #include "base/logging.h" 8 9 namespace printing { 10 11 // Provides a stubbed out PrintBackend implementation for use on ChromeOS. 12 class PrintBackendChromeOS : public PrintBackend { 13 public: 14 PrintBackendChromeOS(); 15 16 // PrintBackend implementation. 17 virtual bool EnumeratePrinters(PrinterList* printer_list) OVERRIDE; 18 virtual std::string GetDefaultPrinterName() OVERRIDE; 19 virtual bool GetPrinterSemanticCapsAndDefaults( 20 const std::string& printer_name, 21 PrinterSemanticCapsAndDefaults* printer_info) OVERRIDE; 22 virtual bool GetPrinterCapsAndDefaults( 23 const std::string& printer_name, 24 PrinterCapsAndDefaults* printer_info) OVERRIDE; 25 virtual std::string GetPrinterDriverInfo( 26 const std::string& printer_name) OVERRIDE; 27 virtual bool IsValidPrinter(const std::string& printer_name) OVERRIDE; 28 29 protected: 30 virtual ~PrintBackendChromeOS() {} 31 }; 32 33 PrintBackendChromeOS::PrintBackendChromeOS() {} 34 35 bool PrintBackendChromeOS::EnumeratePrinters(PrinterList* printer_list) { 36 return true; 37 } 38 39 bool PrintBackendChromeOS::GetPrinterSemanticCapsAndDefaults( 40 const std::string& printer_name, 41 PrinterSemanticCapsAndDefaults* printer_info) { 42 NOTREACHED(); 43 return false; 44 } 45 46 bool PrintBackendChromeOS::GetPrinterCapsAndDefaults( 47 const std::string& printer_name, 48 PrinterCapsAndDefaults* printer_info) { 49 NOTREACHED(); 50 return false; 51 } 52 53 std::string PrintBackendChromeOS::GetPrinterDriverInfo( 54 const std::string& printer_name) { 55 NOTREACHED(); 56 return std::string(); 57 } 58 59 std::string PrintBackendChromeOS::GetDefaultPrinterName() { 60 return std::string(); 61 } 62 63 bool PrintBackendChromeOS::IsValidPrinter(const std::string& printer_name) { 64 NOTREACHED(); 65 return true; 66 } 67 68 scoped_refptr<PrintBackend> PrintBackend::CreateInstance( 69 const base::DictionaryValue* print_backend_settings) { 70 return new PrintBackendChromeOS(); 71 } 72 73 } // namespace printing 74 75