// Copyright 2016 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "printing/backend/test_print_backend.h" #include #include #include "base/stl_util.h" #include "printing/backend/print_backend.h" namespace printing { TestPrintBackend::TestPrintBackend() {} TestPrintBackend::~TestPrintBackend() {} bool TestPrintBackend::EnumeratePrinters(PrinterList* printer_list) { if (printer_list_.empty()) return false; printer_list->insert(printer_list->end(), printer_list_.begin(), printer_list_.end()); return true; } std::string TestPrintBackend::GetDefaultPrinterName() { return default_printer_name_; } bool TestPrintBackend::GetPrinterBasicInfo(const std::string& printer_name, PrinterBasicInfo* printer_info) { NOTREACHED() << "Not implemented"; return false; } bool TestPrintBackend::GetPrinterSemanticCapsAndDefaults( const std::string& printer_name, PrinterSemanticCapsAndDefaults* printer_info) { auto found = valid_printers_.find(printer_name); if (found == valid_printers_.end()) return false; const std::unique_ptr& caps = found->second; if (!caps) return false; *printer_info = *(found->second); return true; } bool TestPrintBackend::GetPrinterCapsAndDefaults( const std::string& printer_name, PrinterCapsAndDefaults* printer_info) { // not implemented return false; } std::string TestPrintBackend::GetPrinterDriverInfo( const std::string& printr_name) { // not implemented return ""; } bool TestPrintBackend::IsValidPrinter(const std::string& printer_name) { return base::ContainsKey(valid_printers_, printer_name); } void TestPrintBackend::PopulatePrinterList(const PrinterList& printer_list) { printer_list_.insert(printer_list_.end(), printer_list.begin(), printer_list.end()); } void TestPrintBackend::SetDefaultPrinterName(const std::string& printer_name) { default_printer_name_ = printer_name; } void TestPrintBackend::AddValidPrinter( const std::string& printer_name, std::unique_ptr caps) { valid_printers_[printer_name] = std::move(caps); } } // namespace printing