// Copyright 2019 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. #ifndef PRINTING_BACKEND_IPP_HANDLERS_H_ #define PRINTING_BACKEND_IPP_HANDLERS_H_ #include "printing/backend/print_backend.h" namespace printing { class CupsOptionProvider; // Ignore attribute (e.g. already implemented in print preview). void NoOpHandler(const CupsOptionProvider& printer, const char* attribute_name, AdvancedCapabilities* capabilities); // Text-based attribute. void TextHandler(const CupsOptionProvider& printer, const char* attribute_name, AdvancedCapabilities* capabilities); // Number-based attribute. void NumberHandler(const CupsOptionProvider& printer, const char* attribute_name, AdvancedCapabilities* capabilities); // Boolean attribute. void BooleanHandler(const CupsOptionProvider& printer, const char* attribute_name, AdvancedCapabilities* capabilities); // Attribute with a list of supported text values. void KeywordHandler(const CupsOptionProvider& printer, const char* attribute_name, AdvancedCapabilities* capabilities); // Attribute with a list of supported integer values. void EnumHandler(const CupsOptionProvider& printer, const char* attribute_name, AdvancedCapabilities* capabilities); // Attribute that takes subsets of supported integer values. // |none_value| is ignored: it's used since IPP doesn't allow empty sets here. void MultivalueEnumHandler(int none_value, const CupsOptionProvider& printer, const char* attribute_name, AdvancedCapabilities* capabilities); } // namespace printing #endif // PRINTING_BACKEND_IPP_HANDLERS_H_