#ifndef CHROME_COMMON_PRINTING_PRINTER_CAPABILITIES_H_
#define CHROME_COMMON_PRINTING_PRINTER_CAPABILITIES_H_
#include <string>
#include "base/memory/scoped_refptr.h"
#include "base/values.h"
#include "build/build_config.h"
#include "printing/backend/print_backend.h"
#include "printing/buildflags/buildflags.h"
#if !BUILDFLAG(ENABLE_PRINT_PREVIEW)
#error "Only used by Print Preview"
#endif
namespace printing {
struct PrinterBasicInfo;
extern const char kPrinter[];
#if BUILDFLAG(IS_WIN)
std::string GetUserFriendlyName(const std::string& printer_name);
#endif
base::Value::Dict AssemblePrinterSettings(const std::string& device_name,
const PrinterBasicInfo& basic_info,
bool has_secure_protocol,
PrinterSemanticCapsAndDefaults* caps);
#if !BUILDFLAG(IS_CHROMEOS) || defined(UNIT_TEST)
base::Value::Dict GetSettingsOnBlockingTaskRunner(
const std::string& device_name,
const PrinterBasicInfo& basic_info,
PrinterSemanticCapsAndDefaults::Papers user_defined_papers,
scoped_refptr<PrintBackend> print_backend);
#endif
}
#endif