blob: 3ab6e8deebb51388fb0cb0bb955af1274a3a0b7a [file] [log] [blame]
// Copyright 2019 The Chromium OS 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 "libipp/ipp_operations.h"
#include <memory>
namespace ipp {
std::unique_ptr<Request> Request::NewRequest(Operation id) {
switch (id) {
case Operation::CUPS_Add_Modify_Class:
return std::make_unique<Request_CUPS_Add_Modify_Class>();
case Operation::CUPS_Add_Modify_Printer:
return std::make_unique<Request_CUPS_Add_Modify_Printer>();
case Operation::CUPS_Authenticate_Job:
return std::make_unique<Request_CUPS_Authenticate_Job>();
case Operation::CUPS_Create_Local_Printer:
return std::make_unique<Request_CUPS_Create_Local_Printer>();
case Operation::CUPS_Delete_Class:
return std::make_unique<Request_CUPS_Delete_Class>();
case Operation::CUPS_Delete_Printer:
return std::make_unique<Request_CUPS_Delete_Printer>();
case Operation::CUPS_Get_Classes:
return std::make_unique<Request_CUPS_Get_Classes>();
case Operation::CUPS_Get_Default:
return std::make_unique<Request_CUPS_Get_Default>();
case Operation::CUPS_Get_Document:
return std::make_unique<Request_CUPS_Get_Document>();
case Operation::CUPS_Get_Printers:
return std::make_unique<Request_CUPS_Get_Printers>();
case Operation::CUPS_Move_Job:
return std::make_unique<Request_CUPS_Move_Job>();
case Operation::CUPS_Set_Default:
return std::make_unique<Request_CUPS_Set_Default>();
case Operation::Cancel_Job:
return std::make_unique<Request_Cancel_Job>();
case Operation::Create_Job:
return std::make_unique<Request_Create_Job>();
case Operation::Get_Job_Attributes:
return std::make_unique<Request_Get_Job_Attributes>();
case Operation::Get_Jobs:
return std::make_unique<Request_Get_Jobs>();
case Operation::Get_Printer_Attributes:
return std::make_unique<Request_Get_Printer_Attributes>();
case Operation::Hold_Job:
return std::make_unique<Request_Hold_Job>();
case Operation::Pause_Printer:
return std::make_unique<Request_Pause_Printer>();
case Operation::Print_Job:
return std::make_unique<Request_Print_Job>();
case Operation::Print_URI:
return std::make_unique<Request_Print_URI>();
case Operation::Release_Job:
return std::make_unique<Request_Release_Job>();
case Operation::Resume_Printer:
return std::make_unique<Request_Resume_Printer>();
case Operation::Send_Document:
return std::make_unique<Request_Send_Document>();
case Operation::Send_URI:
return std::make_unique<Request_Send_URI>();
case Operation::Validate_Job:
return std::make_unique<Request_Validate_Job>();
default:
return nullptr;
}
return nullptr;
}
std::unique_ptr<Response> Response::NewResponse(Operation id) {
switch (id) {
case Operation::CUPS_Add_Modify_Class:
return std::make_unique<Response_CUPS_Add_Modify_Class>();
case Operation::CUPS_Add_Modify_Printer:
return std::make_unique<Response_CUPS_Add_Modify_Printer>();
case Operation::CUPS_Authenticate_Job:
return std::make_unique<Response_CUPS_Authenticate_Job>();
case Operation::CUPS_Create_Local_Printer:
return std::make_unique<Response_CUPS_Create_Local_Printer>();
case Operation::CUPS_Delete_Class:
return std::make_unique<Response_CUPS_Delete_Class>();
case Operation::CUPS_Delete_Printer:
return std::make_unique<Response_CUPS_Delete_Printer>();
case Operation::CUPS_Get_Classes:
return std::make_unique<Response_CUPS_Get_Classes>();
case Operation::CUPS_Get_Default:
return std::make_unique<Response_CUPS_Get_Default>();
case Operation::CUPS_Get_Document:
return std::make_unique<Response_CUPS_Get_Document>();
case Operation::CUPS_Get_Printers:
return std::make_unique<Response_CUPS_Get_Printers>();
case Operation::CUPS_Move_Job:
return std::make_unique<Response_CUPS_Move_Job>();
case Operation::CUPS_Set_Default:
return std::make_unique<Response_CUPS_Set_Default>();
case Operation::Cancel_Job:
return std::make_unique<Response_Cancel_Job>();
case Operation::Create_Job:
return std::make_unique<Response_Create_Job>();
case Operation::Get_Job_Attributes:
return std::make_unique<Response_Get_Job_Attributes>();
case Operation::Get_Jobs:
return std::make_unique<Response_Get_Jobs>();
case Operation::Get_Printer_Attributes:
return std::make_unique<Response_Get_Printer_Attributes>();
case Operation::Hold_Job:
return std::make_unique<Response_Hold_Job>();
case Operation::Pause_Printer:
return std::make_unique<Response_Pause_Printer>();
case Operation::Print_Job:
return std::make_unique<Response_Print_Job>();
case Operation::Print_URI:
return std::make_unique<Response_Print_URI>();
case Operation::Release_Job:
return std::make_unique<Response_Release_Job>();
case Operation::Resume_Printer:
return std::make_unique<Response_Resume_Printer>();
case Operation::Send_Document:
return std::make_unique<Response_Send_Document>();
case Operation::Send_URI:
return std::make_unique<Response_Send_URI>();
case Operation::Validate_Job:
return std::make_unique<Response_Validate_Job>();
default:
return nullptr;
}
return nullptr;
}
Request_CUPS_Add_Modify_Class::Request_CUPS_Add_Modify_Class()
: Request(Operation::CUPS_Add_Modify_Class) {}
std::vector<Group*> Request_CUPS_Add_Modify_Class::GetKnownGroups() {
return {&operation_attributes, &printer_attributes};
}
std::vector<Attribute*>
Request_CUPS_Add_Modify_Class::G_operation_attributes::GetKnownAttributes() {
return {&attributes_charset, &attributes_natural_language, &printer_uri};
}
std::vector<Attribute*>
Request_CUPS_Add_Modify_Class::G_printer_attributes::GetKnownAttributes() {
return {&auth_info_required,
&member_uris,
&printer_is_accepting_jobs,
&printer_info,
&printer_location,
&printer_more_info,
&printer_state,
&printer_state_message,
&requesting_user_name_allowed,
&requesting_user_name_denied};
}
Response_CUPS_Add_Modify_Class::Response_CUPS_Add_Modify_Class()
: Response(Operation::CUPS_Add_Modify_Class) {}
std::vector<Group*> Response_CUPS_Add_Modify_Class::GetKnownGroups() {
return {&operation_attributes};
}
std::vector<Attribute*>
Response_CUPS_Add_Modify_Class::G_operation_attributes::GetKnownAttributes() {
return {&attributes_charset, &attributes_natural_language, &status_message,
&detailed_status_message};
}
Request_CUPS_Add_Modify_Printer::Request_CUPS_Add_Modify_Printer()
: Request(Operation::CUPS_Add_Modify_Printer) {}
std::vector<Group*> Request_CUPS_Add_Modify_Printer::GetKnownGroups() {
return {&operation_attributes, &printer_attributes};
}
std::vector<Attribute*>
Request_CUPS_Add_Modify_Printer::G_printer_attributes::GetKnownAttributes() {
return {&auth_info_required,
&job_sheets_default,
&device_uri,
&printer_is_accepting_jobs,
&printer_info,
&printer_location,
&printer_more_info,
&printer_state,
&printer_state_message,
&requesting_user_name_allowed,
&requesting_user_name_denied};
}
Response_CUPS_Add_Modify_Printer::Response_CUPS_Add_Modify_Printer()
: Response(Operation::CUPS_Add_Modify_Printer) {}
std::vector<Group*> Response_CUPS_Add_Modify_Printer::GetKnownGroups() {
return {&operation_attributes};
}
Request_CUPS_Authenticate_Job::Request_CUPS_Authenticate_Job()
: Request(Operation::CUPS_Authenticate_Job) {}
std::vector<Group*> Request_CUPS_Authenticate_Job::GetKnownGroups() {
return {&operation_attributes, &job_attributes};
}
std::vector<Attribute*>
Request_CUPS_Authenticate_Job::G_operation_attributes::GetKnownAttributes() {
return {&attributes_charset, &attributes_natural_language, &printer_uri,
&job_id, &job_uri};
}
std::vector<Attribute*>
Request_CUPS_Authenticate_Job::G_job_attributes::GetKnownAttributes() {
return {&auth_info, &job_hold_until};
}
Response_CUPS_Authenticate_Job::Response_CUPS_Authenticate_Job()
: Response(Operation::CUPS_Authenticate_Job) {}
std::vector<Group*> Response_CUPS_Authenticate_Job::GetKnownGroups() {
return {&operation_attributes, &unsupported_attributes};
}
std::vector<Attribute*>
Response_CUPS_Authenticate_Job::G_unsupported_attributes::GetKnownAttributes() {
return {};
}
Request_CUPS_Create_Local_Printer::Request_CUPS_Create_Local_Printer()
: Request(Operation::CUPS_Create_Local_Printer) {}
std::vector<Group*> Request_CUPS_Create_Local_Printer::GetKnownGroups() {
return {&operation_attributes, &printer_attributes};
}
std::vector<Attribute*> Request_CUPS_Create_Local_Printer::
G_operation_attributes::GetKnownAttributes() {
return {&attributes_charset, &attributes_natural_language};
}
std::vector<Attribute*>
Request_CUPS_Create_Local_Printer::G_printer_attributes::GetKnownAttributes() {
return {&printer_name, &device_uri, &printer_device_id,
&printer_geo_location, &printer_info, &printer_location};
}
Response_CUPS_Create_Local_Printer::Response_CUPS_Create_Local_Printer()
: Response(Operation::CUPS_Create_Local_Printer) {}
std::vector<Group*> Response_CUPS_Create_Local_Printer::GetKnownGroups() {
return {&operation_attributes, &printer_attributes};
}
std::vector<Attribute*>
Response_CUPS_Create_Local_Printer::G_printer_attributes::GetKnownAttributes() {
return {&printer_id, &printer_is_accepting_jobs, &printer_state,
&printer_state_reasons, &printer_uri_supported};
}
Request_CUPS_Delete_Class::Request_CUPS_Delete_Class()
: Request(Operation::CUPS_Delete_Class) {}
std::vector<Group*> Request_CUPS_Delete_Class::GetKnownGroups() {
return {&operation_attributes};
}
Response_CUPS_Delete_Class::Response_CUPS_Delete_Class()
: Response(Operation::CUPS_Delete_Class) {}
std::vector<Group*> Response_CUPS_Delete_Class::GetKnownGroups() {
return {&operation_attributes};
}
Request_CUPS_Delete_Printer::Request_CUPS_Delete_Printer()
: Request(Operation::CUPS_Delete_Printer) {}
std::vector<Group*> Request_CUPS_Delete_Printer::GetKnownGroups() {
return {&operation_attributes};
}
Response_CUPS_Delete_Printer::Response_CUPS_Delete_Printer()
: Response(Operation::CUPS_Delete_Printer) {}
std::vector<Group*> Response_CUPS_Delete_Printer::GetKnownGroups() {
return {&operation_attributes};
}
Request_CUPS_Get_Classes::Request_CUPS_Get_Classes()
: Request(Operation::CUPS_Get_Classes) {}
std::vector<Group*> Request_CUPS_Get_Classes::GetKnownGroups() {
return {&operation_attributes};
}
std::vector<Attribute*>
Request_CUPS_Get_Classes::G_operation_attributes::GetKnownAttributes() {
return {&attributes_charset, &attributes_natural_language,
&first_printer_name, &limit,
&printer_location, &printer_type,
&printer_type_mask, &requested_attributes,
&requested_user_name};
}
Response_CUPS_Get_Classes::Response_CUPS_Get_Classes()
: Response(Operation::CUPS_Get_Classes) {}
std::vector<Group*> Response_CUPS_Get_Classes::GetKnownGroups() {
return {&operation_attributes, &printer_attributes};
}
std::vector<Attribute*>
Response_CUPS_Get_Classes::G_printer_attributes::GetKnownAttributes() {
return {&member_names, &member_uris};
}
Request_CUPS_Get_Default::Request_CUPS_Get_Default()
: Request(Operation::CUPS_Get_Default) {}
std::vector<Group*> Request_CUPS_Get_Default::GetKnownGroups() {
return {&operation_attributes};
}
std::vector<Attribute*>
Request_CUPS_Get_Default::G_operation_attributes::GetKnownAttributes() {
return {&attributes_charset, &attributes_natural_language,
&requested_attributes};
}
Response_CUPS_Get_Default::Response_CUPS_Get_Default()
: Response(Operation::CUPS_Get_Default) {}
std::vector<Group*> Response_CUPS_Get_Default::GetKnownGroups() {
return {&operation_attributes, &printer_attributes};
}
std::vector<Attribute*>
Response_CUPS_Get_Default::G_printer_attributes::GetKnownAttributes() {
return {&baling_type_supported,
&baling_when_supported,
&binding_reference_edge_supported,
&binding_type_supported,
&charset_configured,
&charset_supported,
&coating_sides_supported,
&coating_type_supported,
&color_supported,
&compression_supported,
&copies_default,
&copies_supported,
&cover_back_default,
&cover_back_supported,
&cover_front_default,
&cover_front_supported,
&covering_name_supported,
&document_charset_default,
&document_charset_supported,
&document_digital_signature_default,
&document_digital_signature_supported,
&document_format_default,
&document_format_details_default,
&document_format_details_supported,
&document_format_supported,
&document_format_version_default,
&document_format_version_supported,
&document_natural_language_default,
&document_natural_language_supported,
&document_password_supported,
&feed_orientation_supported,
&finishing_template_supported,
&finishings_col_database,
&finishings_col_default,
&finishings_col_ready,
&finishings_default,
&finishings_ready,
&finishings_supported,
&folding_direction_supported,
&folding_offset_supported,
&folding_reference_edge_supported,
&font_name_requested_default,
&font_name_requested_supported,
&font_size_requested_default,
&font_size_requested_supported,
&generated_natural_language_supported,
&identify_actions_default,
&identify_actions_supported,
&insert_after_page_number_supported,
&insert_count_supported,
&insert_sheet_default,
&ipp_features_supported,
&ipp_versions_supported,
&ippget_event_life,
&job_account_id_default,
&job_account_id_supported,
&job_account_type_default,
&job_account_type_supported,
&job_accounting_sheets_default,
&job_accounting_user_id_default,
&job_accounting_user_id_supported,
&job_authorization_uri_supported,
&job_constraints_supported,
&job_copies_default,
&job_copies_supported,
&job_cover_back_default,
&job_cover_back_supported,
&job_cover_front_default,
&job_cover_front_supported,
&job_delay_output_until_default,
&job_delay_output_until_supported,
&job_delay_output_until_time_supported,
&job_error_action_default,
&job_error_action_supported,
&job_error_sheet_default,
&job_finishings_col_default,
&job_finishings_col_ready,
&job_finishings_default,
&job_finishings_ready,
&job_finishings_supported,
&job_hold_until_default,
&job_hold_until_supported,
&job_hold_until_time_supported,
&job_ids_supported,
&job_impressions_supported,
&job_k_octets_supported,
&job_media_sheets_supported,
&job_message_to_operator_default,
&job_message_to_operator_supported,
&job_pages_per_set_supported,
&job_password_encryption_supported,
&job_password_supported,
&job_phone_number_default,
&job_phone_number_supported,
&job_priority_default,
&job_priority_supported,
&job_recipient_name_default,
&job_recipient_name_supported,
&job_resolvers_supported,
&job_sheet_message_default,
&job_sheet_message_supported,
&job_sheets_col_default,
&job_sheets_default,
&job_sheets_supported,
&job_spooling_supported,
&jpeg_k_octets_supported,
&jpeg_x_dimension_supported,
&jpeg_y_dimension_supported,
&laminating_sides_supported,
&laminating_type_supported,
&max_save_info_supported,
&max_stitching_locations_supported,
&media_back_coating_supported,
&media_bottom_margin_supported,
&media_col_database,
&media_col_default,
&media_col_ready,
&media_color_supported,
&media_default,
&media_front_coating_supported,
&media_grain_supported,
&media_hole_count_supported,
&media_info_supported,
&media_left_margin_supported,
&media_order_count_supported,
&media_pre_printed_supported,
&media_ready,
&media_recycled_supported,
&media_right_margin_supported,
&media_size_supported,
&media_source_supported,
&media_supported,
&media_thickness_supported,
&media_tooth_supported,
&media_top_margin_supported,
&media_type_supported,
&media_weight_metric_supported,
&multiple_document_handling_default,
&multiple_document_handling_supported,
&multiple_document_jobs_supported,
&multiple_operation_time_out,
&multiple_operation_time_out_action,
&natural_language_configured,
&notify_events_default,
&notify_events_supported,
&notify_lease_duration_default,
&notify_lease_duration_supported,
&notify_pull_method_supported,
&notify_schemes_supported,
&number_up_default,
&number_up_supported,
&oauth_authorization_server_uri,
&operations_supported,
&orientation_requested_default,
&orientation_requested_supported,
&output_bin_default,
&output_bin_supported,
&output_device_supported,
&output_device_uuid_supported,
&page_delivery_default,
&page_delivery_supported,
&page_order_received_default,
&page_order_received_supported,
&page_ranges_supported,
&pages_per_subset_supported,
&parent_printers_supported,
&pdf_k_octets_supported,
&pdf_versions_supported,
&pdl_init_file_default,
&pdl_init_file_entry_supported,
&pdl_init_file_location_supported,
&pdl_init_file_name_subdirectory_supported,
&pdl_init_file_name_supported,
&pdl_init_file_supported,
&pdl_override_supported,
&preferred_attributes_supported,
&presentation_direction_number_up_default,
&presentation_direction_number_up_supported,
&print_color_mode_default,
&print_color_mode_supported,
&print_content_optimize_default,
&print_content_optimize_supported,
&print_quality_default,
&print_quality_supported,
&print_rendering_intent_default,
&print_rendering_intent_supported,
&printer_charge_info,
&printer_charge_info_uri,
&printer_contact_col,
&printer_current_time,
&printer_device_id,
&printer_dns_sd_name,
&printer_driver_installer,
&printer_geo_location,
&printer_icc_profiles,
&printer_icons,
&printer_info,
&printer_location,
&printer_make_and_model,
&printer_more_info_manufacturer,
&printer_name,
&printer_organization,
&printer_organizational_unit,
&printer_resolution_default,
&printer_resolution_supported,
&printer_static_resource_directory_uri,
&printer_static_resource_k_octets_supported,
&printer_strings_languages_supported,
&printer_strings_uri,
&printer_xri_supported,
&proof_print_default,
&proof_print_supported,
&punching_hole_diameter_configured,
&punching_locations_supported,
&punching_offset_supported,
&punching_reference_edge_supported,
&pwg_raster_document_resolution_supported,
&pwg_raster_document_sheet_back,
&pwg_raster_document_type_supported,
&reference_uri_schemes_supported,
&requesting_user_uri_supported,
&save_disposition_supported,
&save_document_format_default,
&save_document_format_supported,
&save_location_default,
&save_location_supported,
&save_name_subdirectory_supported,
&save_name_supported,
&separator_sheets_default,
&sheet_collate_default,
&sheet_collate_supported,
&sides_default,
&sides_supported,
&stitching_angle_supported,
&stitching_locations_supported,
&stitching_method_supported,
&stitching_offset_supported,
&stitching_reference_edge_supported,
&subordinate_printers_supported,
&trimming_offset_supported,
&trimming_reference_edge_supported,
&trimming_type_supported,
&trimming_when_supported,
&uri_authentication_supported,
&uri_security_supported,
&which_jobs_supported,
&x_image_position_default,
&x_image_position_supported,
&x_image_shift_default,
&x_image_shift_supported,
&x_side1_image_shift_default,
&x_side1_image_shift_supported,
&x_side2_image_shift_default,
&x_side2_image_shift_supported,
&y_image_position_default,
&y_image_position_supported,
&y_image_shift_default,
&y_image_shift_supported,
&y_side1_image_shift_default,
&y_side1_image_shift_supported,
&y_side2_image_shift_default,
&y_side2_image_shift_supported};
}
Request_CUPS_Get_Document::Request_CUPS_Get_Document()
: Request(Operation::CUPS_Get_Document) {}
std::vector<Group*> Request_CUPS_Get_Document::GetKnownGroups() {
return {&operation_attributes};
}
std::vector<Attribute*>
Request_CUPS_Get_Document::G_operation_attributes::GetKnownAttributes() {
return {&attributes_charset,
&attributes_natural_language,
&printer_uri,
&job_id,
&job_uri,
&document_number};
}
Response_CUPS_Get_Document::Response_CUPS_Get_Document()
: Response(Operation::CUPS_Get_Document) {}
std::vector<Group*> Response_CUPS_Get_Document::GetKnownGroups() {
return {&operation_attributes};
}
std::vector<Attribute*>
Response_CUPS_Get_Document::G_operation_attributes::GetKnownAttributes() {
return {&attributes_charset, &attributes_natural_language,
&status_message, &detailed_status_message,
&document_format, &document_number,
&document_name};
}
Request_CUPS_Get_Printers::Request_CUPS_Get_Printers()
: Request(Operation::CUPS_Get_Printers) {}
std::vector<Group*> Request_CUPS_Get_Printers::GetKnownGroups() {
return {&operation_attributes};
}
std::vector<Attribute*>
Request_CUPS_Get_Printers::G_operation_attributes::GetKnownAttributes() {
return {&attributes_charset, &attributes_natural_language,
&first_printer_name, &limit,
&printer_id, &printer_location,
&printer_type, &printer_type_mask,
&requested_attributes, &requested_user_name};
}
Response_CUPS_Get_Printers::Response_CUPS_Get_Printers()
: Response(Operation::CUPS_Get_Printers) {}
std::vector<Group*> Response_CUPS_Get_Printers::GetKnownGroups() {
return {&operation_attributes, &printer_attributes};
}
Request_CUPS_Move_Job::Request_CUPS_Move_Job()
: Request(Operation::CUPS_Move_Job) {}
std::vector<Group*> Request_CUPS_Move_Job::GetKnownGroups() {
return {&operation_attributes, &job_attributes};
}
std::vector<Attribute*>
Request_CUPS_Move_Job::G_job_attributes::GetKnownAttributes() {
return {&job_printer_uri};
}
Response_CUPS_Move_Job::Response_CUPS_Move_Job()
: Response(Operation::CUPS_Move_Job) {}
std::vector<Group*> Response_CUPS_Move_Job::GetKnownGroups() {
return {&operation_attributes};
}
Request_CUPS_Set_Default::Request_CUPS_Set_Default()
: Request(Operation::CUPS_Set_Default) {}
std::vector<Group*> Request_CUPS_Set_Default::GetKnownGroups() {
return {&operation_attributes};
}
Response_CUPS_Set_Default::Response_CUPS_Set_Default()
: Response(Operation::CUPS_Set_Default) {}
std::vector<Group*> Response_CUPS_Set_Default::GetKnownGroups() {
return {&operation_attributes};
}
Request_Cancel_Job::Request_Cancel_Job() : Request(Operation::Cancel_Job) {}
std::vector<Group*> Request_Cancel_Job::GetKnownGroups() {
return {&operation_attributes};
}
std::vector<Attribute*>
Request_Cancel_Job::G_operation_attributes::GetKnownAttributes() {
return {&attributes_charset,
&attributes_natural_language,
&printer_uri,
&job_id,
&job_uri,
&requesting_user_name,
&message};
}
Response_Cancel_Job::Response_Cancel_Job() : Response(Operation::Cancel_Job) {}
std::vector<Group*> Response_Cancel_Job::GetKnownGroups() {
return {&operation_attributes, &unsupported_attributes};
}
Request_Create_Job::Request_Create_Job() : Request(Operation::Create_Job) {}
std::vector<Group*> Request_Create_Job::GetKnownGroups() {
return {&operation_attributes, &job_attributes};
}
std::vector<Attribute*>
Request_Create_Job::G_operation_attributes::GetKnownAttributes() {
return {&attributes_charset, &attributes_natural_language,
&printer_uri, &requesting_user_name,
&job_name, &ipp_attribute_fidelity,
&job_k_octets, &job_impressions,
&job_media_sheets};
}
std::vector<Attribute*>
Request_Create_Job::G_job_attributes::GetKnownAttributes() {
return {&copies,
&cover_back,
&cover_front,
&feed_orientation,
&finishings,
&finishings_col,
&font_name_requested,
&font_size_requested,
&force_front_side,
&imposition_template,
&insert_sheet,
&job_account_id,
&job_account_type,
&job_accounting_sheets,
&job_accounting_user_id,
&job_copies,
&job_cover_back,
&job_cover_front,
&job_delay_output_until,
&job_delay_output_until_time,
&job_error_action,
&job_error_sheet,
&job_finishings,
&job_finishings_col,
&job_hold_until,
&job_hold_until_time,
&job_message_to_operator,
&job_pages_per_set,
&job_phone_number,
&job_priority,
&job_recipient_name,
&job_save_disposition,
&job_sheet_message,
&job_sheets,
&job_sheets_col,
&media,
&media_col,
&media_input_tray_check,
&multiple_document_handling,
&number_up,
&orientation_requested,
&output_bin,
&output_device,
&overrides,
&page_delivery,
&page_order_received,
&page_ranges,
&pages_per_subset,
&pdl_init_file,
&presentation_direction_number_up,
&print_color_mode,
&print_content_optimize,
&print_quality,
&print_rendering_intent,
&print_scaling,
&printer_resolution,
&proof_print,
&separator_sheets,
&sheet_collate,
&sides,
&x_image_position,
&x_image_shift,
&x_side1_image_shift,
&x_side2_image_shift,
&y_image_position,
&y_image_shift,
&y_side1_image_shift,
&y_side2_image_shift};
}
Response_Create_Job::Response_Create_Job() : Response(Operation::Create_Job) {}
std::vector<Group*> Response_Create_Job::GetKnownGroups() {
return {&operation_attributes, &unsupported_attributes, &job_attributes};
}
std::vector<Attribute*>
Response_Create_Job::G_job_attributes::GetKnownAttributes() {
return {&job_id,
&job_uri,
&job_state,
&job_state_reasons,
&job_state_message,
&number_of_intervening_jobs};
}
Request_Get_Job_Attributes::Request_Get_Job_Attributes()
: Request(Operation::Get_Job_Attributes) {}
std::vector<Group*> Request_Get_Job_Attributes::GetKnownGroups() {
return {&operation_attributes};
}
std::vector<Attribute*>
Request_Get_Job_Attributes::G_operation_attributes::GetKnownAttributes() {
return {&attributes_charset,
&attributes_natural_language,
&printer_uri,
&job_id,
&job_uri,
&requesting_user_name,
&requested_attributes};
}
Response_Get_Job_Attributes::Response_Get_Job_Attributes()
: Response(Operation::Get_Job_Attributes) {}
std::vector<Group*> Response_Get_Job_Attributes::GetKnownGroups() {
return {&operation_attributes, &unsupported_attributes, &job_attributes};
}
std::vector<Attribute*>
Response_Get_Job_Attributes::G_job_attributes::GetKnownAttributes() {
return {&attributes_charset,
&attributes_natural_language,
&copies,
&copies_actual,
&cover_back,
&cover_back_actual,
&cover_front,
&cover_front_actual,
&current_page_order,
&date_time_at_completed,
&date_time_at_creation,
&date_time_at_processing,
&document_charset_supplied,
&document_format_details_supplied,
&document_format_ready,
&document_format_supplied,
&document_format_version_supplied,
&document_message_supplied,
&document_metadata,
&document_name_supplied,
&document_natural_language_supplied,
&errors_count,
&feed_orientation,
&finishings,
&finishings_col,
&finishings_col_actual,
&font_name_requested,
&font_size_requested,
&force_front_side,
&force_front_side_actual,
&imposition_template,
&impressions_completed_current_copy,
&insert_sheet,
&insert_sheet_actual,
&job_account_id,
&job_account_id_actual,
&job_account_type,
&job_accounting_sheets,
&job_accounting_sheets_actual,
&job_accounting_user_id,
&job_accounting_user_id_actual,
&job_attribute_fidelity,
&job_charge_info,
&job_collation_type,
&job_copies,
&job_copies_actual,
&job_cover_back,
&job_cover_back_actual,
&job_cover_front,
&job_cover_front_actual,
&job_delay_output_until,
&job_delay_output_until_time,
&job_detailed_status_messages,
&job_document_access_errors,
&job_error_action,
&job_error_sheet,
&job_error_sheet_actual,
&job_finishings,
&job_finishings_col,
&job_finishings_col_actual,
&job_hold_until,
&job_hold_until_time,
&job_id,
&job_impressions,
&job_impressions_completed,
&job_k_octets,
&job_k_octets_processed,
&job_mandatory_attributes,
&job_media_sheets,
&job_media_sheets_completed,
&job_message_from_operator,
&job_message_to_operator,
&job_message_to_operator_actual,
&job_more_info,
&job_name,
&job_originating_user_name,
&job_originating_user_uri,
&job_pages,
&job_pages_completed,
&job_pages_completed_current_copy,
&job_pages_per_set,
&job_phone_number,
&job_printer_up_time,
&job_printer_uri,
&job_priority,
&job_priority_actual,
&job_recipient_name,
&job_resource_ids,
&job_save_disposition,
&job_save_printer_make_and_model,
&job_sheet_message,
&job_sheet_message_actual,
&job_sheets,
&job_sheets_col,
&job_sheets_col_actual,
&job_state,
&job_state_message,
&job_state_reasons,
&job_uri,
&job_uuid,
&media,
&media_col,
&media_col_actual,
&media_input_tray_check,
&multiple_document_handling,
&number_of_documents,
&number_of_intervening_jobs,
&number_up,
&number_up_actual,
&orientation_requested,
&original_requesting_user_name,
&output_bin,
&output_device,
&output_device_actual,
&output_device_assigned,
&output_device_job_state_message,
&output_device_uuid_assigned,
&overrides,
&overrides_actual,
&page_delivery,
&page_order_received,
&page_ranges,
&page_ranges_actual,
&pages_per_subset,
&pdl_init_file,
&presentation_direction_number_up,
&print_color_mode,
&print_content_optimize,
&print_quality,
&print_rendering_intent,
&print_scaling,
&printer_resolution,
&printer_resolution_actual,
&proof_print,
&separator_sheets,
&separator_sheets_actual,
&sheet_collate,
&sheet_completed_copy_number,
&sheet_completed_document_number,
&sides,
&time_at_completed,
&time_at_creation,
&time_at_processing,
&warnings_count,
&x_image_position,
&x_image_shift,
&x_image_shift_actual,
&x_side1_image_shift,
&x_side1_image_shift_actual,
&x_side2_image_shift,
&x_side2_image_shift_actual,
&y_image_position,
&y_image_shift,
&y_image_shift_actual,
&y_side1_image_shift,
&y_side1_image_shift_actual,
&y_side2_image_shift,
&y_side2_image_shift_actual};
}
Request_Get_Jobs::Request_Get_Jobs() : Request(Operation::Get_Jobs) {}
std::vector<Group*> Request_Get_Jobs::GetKnownGroups() {
return {&operation_attributes};
}
std::vector<Attribute*>
Request_Get_Jobs::G_operation_attributes::GetKnownAttributes() {
return {&attributes_charset,
&attributes_natural_language,
&printer_uri,
&requesting_user_name,
&limit,
&requested_attributes,
&which_jobs,
&my_jobs};
}
Response_Get_Jobs::Response_Get_Jobs() : Response(Operation::Get_Jobs) {}
std::vector<Group*> Response_Get_Jobs::GetKnownGroups() {
return {&operation_attributes, &unsupported_attributes, &job_attributes};
}
Request_Get_Printer_Attributes::Request_Get_Printer_Attributes()
: Request(Operation::Get_Printer_Attributes) {}
std::vector<Group*> Request_Get_Printer_Attributes::GetKnownGroups() {
return {&operation_attributes};
}
std::vector<Attribute*>
Request_Get_Printer_Attributes::G_operation_attributes::GetKnownAttributes() {
return {&attributes_charset, &attributes_natural_language,
&printer_uri, &requesting_user_name,
&requested_attributes, &document_format};
}
Response_Get_Printer_Attributes::Response_Get_Printer_Attributes()
: Response(Operation::Get_Printer_Attributes) {}
std::vector<Group*> Response_Get_Printer_Attributes::GetKnownGroups() {
return {&operation_attributes, &unsupported_attributes, &printer_attributes};
}
std::vector<Attribute*>
Response_Get_Printer_Attributes::G_printer_attributes::GetKnownAttributes() {
return {&baling_type_supported,
&baling_when_supported,
&binding_reference_edge_supported,
&binding_type_supported,
&charset_configured,
&charset_supported,
&coating_sides_supported,
&coating_type_supported,
&color_supported,
&compression_supported,
&copies_default,
&copies_supported,
&cover_back_default,
&cover_back_supported,
&cover_front_default,
&cover_front_supported,
&covering_name_supported,
&device_service_count,
&device_uuid,
&document_charset_default,
&document_charset_supported,
&document_digital_signature_default,
&document_digital_signature_supported,
&document_format_default,
&document_format_details_default,
&document_format_details_supported,
&document_format_supported,
&document_format_varying_attributes,
&document_format_version_default,
&document_format_version_supported,
&document_natural_language_default,
&document_natural_language_supported,
&document_password_supported,
&feed_orientation_supported,
&finishing_template_supported,
&finishings_col_database,
&finishings_col_default,
&finishings_col_ready,
&finishings_default,
&finishings_ready,
&finishings_supported,
&folding_direction_supported,
&folding_offset_supported,
&folding_reference_edge_supported,
&font_name_requested_default,
&font_name_requested_supported,
&font_size_requested_default,
&font_size_requested_supported,
&generated_natural_language_supported,
&identify_actions_default,
&identify_actions_supported,
&insert_after_page_number_supported,
&insert_count_supported,
&insert_sheet_default,
&ipp_features_supported,
&ipp_versions_supported,
&ippget_event_life,
&job_account_id_default,
&job_account_id_supported,
&job_account_type_default,
&job_account_type_supported,
&job_accounting_sheets_default,
&job_accounting_user_id_default,
&job_accounting_user_id_supported,
&job_authorization_uri_supported,
&job_constraints_supported,
&job_copies_default,
&job_copies_supported,
&job_cover_back_default,
&job_cover_back_supported,
&job_cover_front_default,
&job_cover_front_supported,
&job_delay_output_until_default,
&job_delay_output_until_supported,
&job_delay_output_until_time_supported,
&job_error_action_default,
&job_error_action_supported,
&job_error_sheet_default,
&job_finishings_col_default,
&job_finishings_col_ready,
&job_finishings_default,
&job_finishings_ready,
&job_finishings_supported,
&job_hold_until_default,
&job_hold_until_supported,
&job_hold_until_time_supported,
&job_ids_supported,
&job_impressions_supported,
&job_k_octets_supported,
&job_media_sheets_supported,
&job_message_to_operator_default,
&job_message_to_operator_supported,
&job_pages_per_set_supported,
&job_password_encryption_supported,
&job_password_supported,
&job_phone_number_default,
&job_phone_number_supported,
&job_priority_default,
&job_priority_supported,
&job_recipient_name_default,
&job_recipient_name_supported,
&job_resolvers_supported,
&job_sheet_message_default,
&job_sheet_message_supported,
&job_sheets_col_default,
&job_sheets_default,
&job_sheets_supported,
&job_spooling_supported,
&jpeg_k_octets_supported,
&jpeg_x_dimension_supported,
&jpeg_y_dimension_supported,
&laminating_sides_supported,
&laminating_type_supported,
&max_save_info_supported,
&max_stitching_locations_supported,
&media_back_coating_supported,
&media_bottom_margin_supported,
&media_col_database,
&media_col_default,
&media_col_ready,
&media_color_supported,
&media_default,
&media_front_coating_supported,
&media_grain_supported,
&media_hole_count_supported,
&media_info_supported,
&media_left_margin_supported,
&media_order_count_supported,
&media_pre_printed_supported,
&media_ready,
&media_recycled_supported,
&media_right_margin_supported,
&media_size_supported,
&media_source_supported,
&media_supported,
&media_thickness_supported,
&media_tooth_supported,
&media_top_margin_supported,
&media_type_supported,
&media_weight_metric_supported,
&multiple_document_handling_default,
&multiple_document_handling_supported,
&multiple_document_jobs_supported,
&multiple_operation_time_out,
&multiple_operation_time_out_action,
&natural_language_configured,
&notify_events_default,
&notify_events_supported,
&notify_lease_duration_default,
&notify_lease_duration_supported,
&notify_pull_method_supported,
&notify_schemes_supported,
&number_up_default,
&number_up_supported,
&oauth_authorization_server_uri,
&operations_supported,
&orientation_requested_default,
&orientation_requested_supported,
&output_bin_default,
&output_bin_supported,
&output_device_supported,
&output_device_uuid_supported,
&page_delivery_default,
&page_delivery_supported,
&page_order_received_default,
&page_order_received_supported,
&page_ranges_supported,
&pages_per_minute,
&pages_per_minute_color,
&pages_per_subset_supported,
&parent_printers_supported,
&pdf_k_octets_supported,
&pdf_versions_supported,
&pdl_init_file_default,
&pdl_init_file_entry_supported,
&pdl_init_file_location_supported,
&pdl_init_file_name_subdirectory_supported,
&pdl_init_file_name_supported,
&pdl_init_file_supported,
&pdl_override_supported,
&preferred_attributes_supported,
&presentation_direction_number_up_default,
&presentation_direction_number_up_supported,
&print_color_mode_default,
&print_color_mode_supported,
&print_content_optimize_default,
&print_content_optimize_supported,
&print_quality_default,
&print_quality_supported,
&print_rendering_intent_default,
&print_rendering_intent_supported,
&printer_alert,
&printer_alert_description,
&printer_charge_info,
&printer_charge_info_uri,
&printer_config_change_date_time,
&printer_config_change_time,
&printer_config_changes,
&printer_contact_col,
&printer_current_time,
&printer_detailed_status_messages,
&printer_device_id,
&printer_dns_sd_name,
&printer_driver_installer,
&printer_finisher,
&printer_finisher_description,
&printer_finisher_supplies,
&printer_finisher_supplies_description,
&printer_geo_location,
&printer_icc_profiles,
&printer_icons,
&printer_id,
&printer_impressions_completed,
&printer_info,
&printer_input_tray,
&printer_is_accepting_jobs,
&printer_location,
&printer_make_and_model,
&printer_media_sheets_completed,
&printer_message_date_time,
&printer_message_from_operator,
&printer_message_time,
&printer_more_info,
&printer_more_info_manufacturer,
&printer_name,
&printer_organization,
&printer_organizational_unit,
&printer_output_tray,
&printer_pages_completed,
&printer_resolution_default,
&printer_resolution_supported,
&printer_state,
&printer_state_change_date_time,
&printer_state_change_time,
&printer_state_message,
&printer_state_reasons,
&printer_static_resource_directory_uri,
&printer_static_resource_k_octets_free,
&printer_static_resource_k_octets_supported,
&printer_strings_languages_supported,
&printer_strings_uri,
&printer_supply,
&printer_supply_description,
&printer_supply_info_uri,
&printer_up_time,
&printer_uri_supported,
&printer_uuid,
&printer_xri_supported,
&proof_print_default,
&proof_print_supported,
&punching_hole_diameter_configured,
&punching_locations_supported,
&punching_offset_supported,
&punching_reference_edge_supported,
&pwg_raster_document_resolution_supported,
&pwg_raster_document_sheet_back,
&pwg_raster_document_type_supported,
&queued_job_count,
&reference_uri_schemes_supported,
&requesting_user_uri_supported,
&save_disposition_supported,
&save_document_format_default,
&save_document_format_supported,
&save_location_default,
&save_location_supported,
&save_name_subdirectory_supported,
&save_name_supported,
&separator_sheets_default,
&sheet_collate_default,
&sheet_collate_supported,
&sides_default,
&sides_supported,
&stitching_angle_supported,
&stitching_locations_supported,
&stitching_method_supported,
&stitching_offset_supported,
&stitching_reference_edge_supported,
&subordinate_printers_supported,
&trimming_offset_supported,
&trimming_reference_edge_supported,
&trimming_type_supported,
&trimming_when_supported,
&uri_authentication_supported,
&uri_security_supported,
&which_jobs_supported,
&x_image_position_default,
&x_image_position_supported,
&x_image_shift_default,
&x_image_shift_supported,
&x_side1_image_shift_default,
&x_side1_image_shift_supported,
&x_side2_image_shift_default,
&x_side2_image_shift_supported,
&xri_authentication_supported,
&xri_security_supported,
&xri_uri_scheme_supported,
&y_image_position_default,
&y_image_position_supported,
&y_image_shift_default,
&y_image_shift_supported,
&y_side1_image_shift_default,
&y_side1_image_shift_supported,
&y_side2_image_shift_default,
&y_side2_image_shift_supported};
}
Request_Hold_Job::Request_Hold_Job() : Request(Operation::Hold_Job) {}
std::vector<Group*> Request_Hold_Job::GetKnownGroups() {
return {&operation_attributes};
}
std::vector<Attribute*>
Request_Hold_Job::G_operation_attributes::GetKnownAttributes() {
return {&attributes_charset,
&attributes_natural_language,
&printer_uri,
&job_id,
&job_uri,
&requesting_user_name,
&message,
&job_hold_until};
}
Response_Hold_Job::Response_Hold_Job() : Response(Operation::Hold_Job) {}
std::vector<Group*> Response_Hold_Job::GetKnownGroups() {
return {&operation_attributes, &unsupported_attributes};
}
Request_Pause_Printer::Request_Pause_Printer()
: Request(Operation::Pause_Printer) {}
std::vector<Group*> Request_Pause_Printer::GetKnownGroups() {
return {&operation_attributes};
}
std::vector<Attribute*>
Request_Pause_Printer::G_operation_attributes::GetKnownAttributes() {
return {&attributes_charset, &attributes_natural_language, &printer_uri,
&requesting_user_name};
}
Response_Pause_Printer::Response_Pause_Printer()
: Response(Operation::Pause_Printer) {}
std::vector<Group*> Response_Pause_Printer::GetKnownGroups() {
return {&operation_attributes, &unsupported_attributes};
}
Request_Print_Job::Request_Print_Job() : Request(Operation::Print_Job) {}
std::vector<Group*> Request_Print_Job::GetKnownGroups() {
return {&operation_attributes, &job_attributes};
}
std::vector<Attribute*>
Request_Print_Job::G_operation_attributes::GetKnownAttributes() {
return {&attributes_charset, &attributes_natural_language,
&printer_uri, &requesting_user_name,
&job_name, &ipp_attribute_fidelity,
&document_name, &compression,
&document_format, &document_natural_language,
&job_k_octets, &job_impressions,
&job_media_sheets};
}
Response_Print_Job::Response_Print_Job() : Response(Operation::Print_Job) {}
std::vector<Group*> Response_Print_Job::GetKnownGroups() {
return {&operation_attributes, &unsupported_attributes, &job_attributes};
}
Request_Print_URI::Request_Print_URI() : Request(Operation::Print_URI) {}
std::vector<Group*> Request_Print_URI::GetKnownGroups() {
return {&operation_attributes, &job_attributes};
}
std::vector<Attribute*>
Request_Print_URI::G_operation_attributes::GetKnownAttributes() {
return {&attributes_charset,
&attributes_natural_language,
&printer_uri,
&document_uri,
&requesting_user_name,
&job_name,
&ipp_attribute_fidelity,
&document_name,
&compression,
&document_format,
&document_natural_language,
&job_k_octets,
&job_impressions,
&job_media_sheets};
}
Response_Print_URI::Response_Print_URI() : Response(Operation::Print_URI) {}
std::vector<Group*> Response_Print_URI::GetKnownGroups() {
return {&operation_attributes, &unsupported_attributes, &job_attributes};
}
std::vector<Attribute*>
Response_Print_URI::G_operation_attributes::GetKnownAttributes() {
return {&attributes_charset, &attributes_natural_language, &status_message,
&detailed_status_message, &document_access_error};
}
Request_Release_Job::Request_Release_Job() : Request(Operation::Release_Job) {}
std::vector<Group*> Request_Release_Job::GetKnownGroups() {
return {&operation_attributes};
}
Response_Release_Job::Response_Release_Job()
: Response(Operation::Release_Job) {}
std::vector<Group*> Response_Release_Job::GetKnownGroups() {
return {&operation_attributes, &unsupported_attributes};
}
Request_Resume_Printer::Request_Resume_Printer()
: Request(Operation::Resume_Printer) {}
std::vector<Group*> Request_Resume_Printer::GetKnownGroups() {
return {&operation_attributes};
}
Response_Resume_Printer::Response_Resume_Printer()
: Response(Operation::Resume_Printer) {}
std::vector<Group*> Response_Resume_Printer::GetKnownGroups() {
return {&operation_attributes, &unsupported_attributes};
}
Request_Send_Document::Request_Send_Document()
: Request(Operation::Send_Document) {}
std::vector<Group*> Request_Send_Document::GetKnownGroups() {
return {&operation_attributes};
}
std::vector<Attribute*>
Request_Send_Document::G_operation_attributes::GetKnownAttributes() {
return {&attributes_charset,
&attributes_natural_language,
&printer_uri,
&job_id,
&job_uri,
&requesting_user_name,
&document_name,
&compression,
&document_format,
&document_natural_language,
&last_document};
}
Response_Send_Document::Response_Send_Document()
: Response(Operation::Send_Document) {}
std::vector<Group*> Response_Send_Document::GetKnownGroups() {
return {&operation_attributes, &unsupported_attributes, &job_attributes};
}
Request_Send_URI::Request_Send_URI() : Request(Operation::Send_URI) {}
std::vector<Group*> Request_Send_URI::GetKnownGroups() {
return {&operation_attributes};
}
std::vector<Attribute*>
Request_Send_URI::G_operation_attributes::GetKnownAttributes() {
return {&attributes_charset,
&attributes_natural_language,
&printer_uri,
&job_id,
&job_uri,
&requesting_user_name,
&document_name,
&compression,
&document_format,
&document_natural_language,
&last_document,
&document_uri};
}
Response_Send_URI::Response_Send_URI() : Response(Operation::Send_URI) {}
std::vector<Group*> Response_Send_URI::GetKnownGroups() {
return {&operation_attributes, &unsupported_attributes, &job_attributes};
}
Request_Validate_Job::Request_Validate_Job()
: Request(Operation::Validate_Job) {}
std::vector<Group*> Request_Validate_Job::GetKnownGroups() {
return {&operation_attributes, &job_attributes};
}
Response_Validate_Job::Response_Validate_Job()
: Response(Operation::Validate_Job) {}
std::vector<Group*> Response_Validate_Job::GetKnownGroups() {
return {&operation_attributes, &unsupported_attributes};
}
} // namespace ipp