1 // Copyright 2019 The Chromium OS 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 #ifndef LIBIPP_IPP_COLLECTIONS_H_ 6 #define LIBIPP_IPP_COLLECTIONS_H_ 7 8 #include <string> 9 #include <vector> 10 11 #include "ipp_attribute.h" // NOLINT(build/include) 12 #include "ipp_enums.h" // NOLINT(build/include) 13 #include "ipp_export.h" // NOLINT(build/include) 14 #include "ipp_package.h" // NOLINT(build/include) 15 16 // This file contains definition of classes corresponding to supported IPP 17 // collection attributes. See ipp.h for more details. 18 // This file was generated from IPP schema based on the following sources: 19 // * [rfc8011] 20 // * [CUPS Implementation of IPP] at https://www.cups.org/doc/spec-ipp.html 21 // * [IPP registry] at https://www.pwg.org/ipp/ipp-registrations.xml 22 23 namespace ipp { 24 struct IPP_EXPORT C_job_constraints_supported : public Collection { 25 SingleValue<StringWithLanguage> resolver_name{AttrName::resolver_name, 26 AttrType::name}; 27 std::vector<Attribute*> GetKnownAttributes() override; 28 }; 29 struct IPP_EXPORT C_job_finishings_col_actual : public Collection { 30 struct C_media_size : public Collection { 31 SingleValue<int> x_dimension{AttrName::x_dimension, AttrType::integer}; 32 SingleValue<int> y_dimension{AttrName::y_dimension, AttrType::integer}; 33 std::vector<Attribute*> GetKnownAttributes() override; 34 }; 35 SingleValue<E_media_back_coating> media_back_coating{ 36 AttrName::media_back_coating, AttrType::keyword}; 37 SingleValue<int> media_bottom_margin{AttrName::media_bottom_margin, 38 AttrType::integer}; 39 SingleValue<E_media_color> media_color{AttrName::media_color, 40 AttrType::keyword}; 41 SingleValue<E_media_front_coating> media_front_coating{ 42 AttrName::media_front_coating, AttrType::keyword}; 43 SingleValue<E_media_grain> media_grain{AttrName::media_grain, 44 AttrType::keyword}; 45 SingleValue<int> media_hole_count{AttrName::media_hole_count, 46 AttrType::integer}; 47 SingleValue<StringWithLanguage> media_info{AttrName::media_info, 48 AttrType::text}; 49 SingleValue<E_media_key> media_key{AttrName::media_key, AttrType::keyword}; 50 SingleValue<int> media_left_margin{AttrName::media_left_margin, 51 AttrType::integer}; 52 SingleValue<int> media_order_count{AttrName::media_order_count, 53 AttrType::integer}; 54 SingleValue<E_media_pre_printed> media_pre_printed{ 55 AttrName::media_pre_printed, AttrType::keyword}; 56 SingleValue<E_media_recycled> media_recycled{AttrName::media_recycled, 57 AttrType::keyword}; 58 SingleValue<int> media_right_margin{AttrName::media_right_margin, 59 AttrType::integer}; 60 SingleCollection<C_media_size> media_size{AttrName::media_size}; 61 SingleValue<StringWithLanguage> media_size_name{AttrName::media_size_name, 62 AttrType::name}; 63 SingleValue<E_media_source> media_source{AttrName::media_source, 64 AttrType::keyword}; 65 SingleValue<int> media_thickness{AttrName::media_thickness, 66 AttrType::integer}; 67 SingleValue<E_media_tooth> media_tooth{AttrName::media_tooth, 68 AttrType::keyword}; 69 SingleValue<int> media_top_margin{AttrName::media_top_margin, 70 AttrType::integer}; 71 SingleValue<E_media_type> media_type{AttrName::media_type, AttrType::keyword}; 72 SingleValue<int> media_weight_metric{AttrName::media_weight_metric, 73 AttrType::integer}; 74 std::vector<Attribute*> GetKnownAttributes() override; 75 }; 76 typedef C_job_constraints_supported C_job_resolvers_supported; 77 struct IPP_EXPORT C_job_save_disposition : public Collection { 78 struct C_save_info : public Collection { 79 SingleValue<std::string> save_document_format{ 80 AttrName::save_document_format, AttrType::mimeMediaType}; 81 SingleValue<std::string> save_location{AttrName::save_location, 82 AttrType::uri}; 83 SingleValue<StringWithLanguage> save_name{AttrName::save_name, 84 AttrType::name}; 85 std::vector<Attribute*> GetKnownAttributes() override; 86 }; 87 SingleValue<E_save_disposition> save_disposition{AttrName::save_disposition, 88 AttrType::keyword}; 89 SetOfCollections<C_save_info> save_info{AttrName::save_info}; 90 std::vector<Attribute*> GetKnownAttributes() override; 91 }; 92 typedef C_job_finishings_col_actual C_media_col; 93 typedef C_job_finishings_col_actual C_media_col_actual; 94 struct IPP_EXPORT C_media_col_database : public Collection { 95 struct C_media_size : public Collection { 96 SingleValue<int> x_dimension{AttrName::x_dimension, AttrType::integer}; 97 SingleValue<int> y_dimension{AttrName::y_dimension, AttrType::integer}; 98 std::vector<Attribute*> GetKnownAttributes() override; 99 }; 100 struct C_media_source_properties : public Collection { 101 SingleValue<E_media_source_feed_direction> media_source_feed_direction{ 102 AttrName::media_source_feed_direction, AttrType::keyword}; 103 SingleValue<E_media_source_feed_orientation> media_source_feed_orientation{ 104 AttrName::media_source_feed_orientation, AttrType::enum_}; 105 std::vector<Attribute*> GetKnownAttributes() override; 106 }; 107 SingleValue<E_media_back_coating> media_back_coating{ 108 AttrName::media_back_coating, AttrType::keyword}; 109 SingleValue<int> media_bottom_margin{AttrName::media_bottom_margin, 110 AttrType::integer}; 111 SingleValue<E_media_color> media_color{AttrName::media_color, 112 AttrType::keyword}; 113 SingleValue<E_media_front_coating> media_front_coating{ 114 AttrName::media_front_coating, AttrType::keyword}; 115 SingleValue<E_media_grain> media_grain{AttrName::media_grain, 116 AttrType::keyword}; 117 SingleValue<int> media_hole_count{AttrName::media_hole_count, 118 AttrType::integer}; 119 SingleValue<StringWithLanguage> media_info{AttrName::media_info, 120 AttrType::text}; 121 SingleValue<E_media_key> media_key{AttrName::media_key, AttrType::keyword}; 122 SingleValue<int> media_left_margin{AttrName::media_left_margin, 123 AttrType::integer}; 124 SingleValue<int> media_order_count{AttrName::media_order_count, 125 AttrType::integer}; 126 SingleValue<E_media_pre_printed> media_pre_printed{ 127 AttrName::media_pre_printed, AttrType::keyword}; 128 SingleValue<E_media_recycled> media_recycled{AttrName::media_recycled, 129 AttrType::keyword}; 130 SingleValue<int> media_right_margin{AttrName::media_right_margin, 131 AttrType::integer}; 132 SingleCollection<C_media_size> media_size{AttrName::media_size}; 133 SingleValue<StringWithLanguage> media_size_name{AttrName::media_size_name, 134 AttrType::name}; 135 SingleValue<E_media_source> media_source{AttrName::media_source, 136 AttrType::keyword}; 137 SingleCollection<C_media_source_properties> media_source_properties{ 138 AttrName::media_source_properties}; 139 SingleValue<int> media_thickness{AttrName::media_thickness, 140 AttrType::integer}; 141 SingleValue<E_media_tooth> media_tooth{AttrName::media_tooth, 142 AttrType::keyword}; 143 SingleValue<int> media_top_margin{AttrName::media_top_margin, 144 AttrType::integer}; 145 SingleValue<E_media_type> media_type{AttrName::media_type, AttrType::keyword}; 146 SingleValue<int> media_weight_metric{AttrName::media_weight_metric, 147 AttrType::integer}; 148 std::vector<Attribute*> GetKnownAttributes() override; 149 }; 150 typedef C_job_finishings_col_actual C_media_col_default; 151 typedef C_media_col_database C_media_col_ready; 152 struct IPP_EXPORT C_media_size_supported : public Collection { 153 SingleValue<RangeOfInteger> x_dimension{AttrName::x_dimension, 154 AttrType::rangeOfInteger}; 155 SingleValue<RangeOfInteger> y_dimension{AttrName::y_dimension, 156 AttrType::rangeOfInteger}; 157 std::vector<Attribute*> GetKnownAttributes() override; 158 }; 159 struct IPP_EXPORT C_pdl_init_file : public Collection { 160 SingleValue<StringWithLanguage> pdl_init_file_entry{ 161 AttrName::pdl_init_file_entry, AttrType::name}; 162 SingleValue<std::string> pdl_init_file_location{ 163 AttrName::pdl_init_file_location, AttrType::uri}; 164 SingleValue<StringWithLanguage> pdl_init_file_name{ 165 AttrName::pdl_init_file_name, AttrType::name}; 166 std::vector<Attribute*> GetKnownAttributes() override; 167 }; 168 typedef C_pdl_init_file C_pdl_init_file_default; 169 struct IPP_EXPORT C_printer_contact_col : public Collection { 170 SingleValue<StringWithLanguage> contact_name{AttrName::contact_name, 171 AttrType::name}; 172 SingleValue<std::string> contact_uri{AttrName::contact_uri, AttrType::uri}; 173 SetOfValues<StringWithLanguage> contact_vcard{AttrName::contact_vcard, 174 AttrType::text}; 175 std::vector<Attribute*> GetKnownAttributes() override; 176 }; 177 struct IPP_EXPORT C_printer_icc_profiles : public Collection { 178 SingleValue<StringWithLanguage> profile_name{AttrName::profile_name, 179 AttrType::name}; 180 SingleValue<std::string> profile_url{AttrName::profile_url, AttrType::uri}; 181 std::vector<Attribute*> GetKnownAttributes() override; 182 }; 183 struct IPP_EXPORT C_printer_xri_supported : public Collection { 184 SingleValue<E_xri_authentication> xri_authentication{ 185 AttrName::xri_authentication, AttrType::keyword}; 186 SingleValue<E_xri_security> xri_security{AttrName::xri_security, 187 AttrType::keyword}; 188 SingleValue<std::string> xri_uri{AttrName::xri_uri, AttrType::uri}; 189 std::vector<Attribute*> GetKnownAttributes() override; 190 }; 191 struct IPP_EXPORT C_proof_print : public Collection { 192 SingleValue<E_media> media{AttrName::media, AttrType::keyword}; 193 SingleCollection<C_media_col> media_col{AttrName::media_col}; 194 SingleValue<int> proof_print_copies{AttrName::proof_print_copies, 195 AttrType::integer}; 196 std::vector<Attribute*> GetKnownAttributes() override; 197 }; 198 typedef C_proof_print C_proof_print_default; 199 struct IPP_EXPORT C_separator_sheets : public Collection { 200 SingleValue<E_media> media{AttrName::media, AttrType::keyword}; 201 SingleCollection<C_media_col> media_col{AttrName::media_col}; 202 SetOfValues<E_separator_sheets_type> separator_sheets_type{ 203 AttrName::separator_sheets_type, AttrType::keyword}; 204 std::vector<Attribute*> GetKnownAttributes() override; 205 }; 206 typedef C_separator_sheets C_separator_sheets_actual; 207 typedef C_separator_sheets C_separator_sheets_default; 208 struct IPP_EXPORT C_cover_back : public Collection { 209 SingleValue<E_cover_type> cover_type{AttrName::cover_type, AttrType::keyword}; 210 SingleValue<E_media> media{AttrName::media, AttrType::keyword}; 211 SingleCollection<C_media_col> media_col{AttrName::media_col}; 212 std::vector<Attribute*> GetKnownAttributes() override; 213 }; 214 typedef C_cover_back C_cover_back_actual; 215 typedef C_cover_back C_cover_back_default; 216 typedef C_cover_back C_cover_front; 217 typedef C_cover_back C_cover_front_actual; 218 typedef C_cover_back C_cover_front_default; 219 struct IPP_EXPORT C_document_format_details_default : public Collection { 220 SingleValue<std::string> document_format{AttrName::document_format, 221 AttrType::mimeMediaType}; 222 SingleValue<StringWithLanguage> document_format_device_id{ 223 AttrName::document_format_device_id, AttrType::text}; 224 SingleValue<StringWithLanguage> document_format_version{ 225 AttrName::document_format_version, AttrType::text}; 226 SetOfValues<std::string> document_natural_language{ 227 AttrName::document_natural_language, AttrType::naturalLanguage}; 228 SingleValue<StringWithLanguage> document_source_application_name{ 229 AttrName::document_source_application_name, AttrType::name}; 230 SingleValue<StringWithLanguage> document_source_application_version{ 231 AttrName::document_source_application_version, AttrType::text}; 232 SingleValue<StringWithLanguage> document_source_os_name{ 233 AttrName::document_source_os_name, AttrType::name}; 234 SingleValue<StringWithLanguage> document_source_os_version{ 235 AttrName::document_source_os_version, AttrType::text}; 236 std::vector<Attribute*> GetKnownAttributes() override; 237 }; 238 typedef C_document_format_details_default C_document_format_details_supplied; 239 struct IPP_EXPORT C_finishings_col : public Collection { 240 struct C_baling : public Collection { 241 SingleValue<E_baling_type> baling_type{AttrName::baling_type, 242 AttrType::keyword}; 243 SingleValue<E_baling_when> baling_when{AttrName::baling_when, 244 AttrType::keyword}; 245 std::vector<Attribute*> GetKnownAttributes() override; 246 }; 247 struct C_binding : public Collection { 248 SingleValue<E_binding_reference_edge> binding_reference_edge{ 249 AttrName::binding_reference_edge, AttrType::keyword}; 250 SingleValue<E_binding_type> binding_type{AttrName::binding_type, 251 AttrType::keyword}; 252 std::vector<Attribute*> GetKnownAttributes() override; 253 }; 254 struct C_coating : public Collection { 255 SingleValue<E_coating_sides> coating_sides{AttrName::coating_sides, 256 AttrType::keyword}; 257 SingleValue<E_coating_type> coating_type{AttrName::coating_type, 258 AttrType::keyword}; 259 std::vector<Attribute*> GetKnownAttributes() override; 260 }; 261 struct C_covering : public Collection { 262 SingleValue<E_covering_name> covering_name{AttrName::covering_name, 263 AttrType::keyword}; 264 std::vector<Attribute*> GetKnownAttributes() override; 265 }; 266 struct C_folding : public Collection { 267 SingleValue<E_folding_direction> folding_direction{ 268 AttrName::folding_direction, AttrType::keyword}; 269 SingleValue<int> folding_offset{AttrName::folding_offset, 270 AttrType::integer}; 271 SingleValue<E_folding_reference_edge> folding_reference_edge{ 272 AttrName::folding_reference_edge, AttrType::keyword}; 273 std::vector<Attribute*> GetKnownAttributes() override; 274 }; 275 struct C_laminating : public Collection { 276 SingleValue<E_laminating_sides> laminating_sides{AttrName::laminating_sides, 277 AttrType::keyword}; 278 SingleValue<E_laminating_type> laminating_type{AttrName::laminating_type, 279 AttrType::keyword}; 280 std::vector<Attribute*> GetKnownAttributes() override; 281 }; 282 struct C_media_size : public Collection { 283 std::vector<Attribute*> GetKnownAttributes() override; 284 }; 285 struct C_punching : public Collection { 286 SetOfValues<int> punching_locations{AttrName::punching_locations, 287 AttrType::integer}; 288 SingleValue<int> punching_offset{AttrName::punching_offset, 289 AttrType::integer}; 290 SingleValue<E_punching_reference_edge> punching_reference_edge{ 291 AttrName::punching_reference_edge, AttrType::keyword}; 292 std::vector<Attribute*> GetKnownAttributes() override; 293 }; 294 struct C_stitching : public Collection { 295 SingleValue<int> stitching_angle{AttrName::stitching_angle, 296 AttrType::integer}; 297 SetOfValues<int> stitching_locations{AttrName::stitching_locations, 298 AttrType::integer}; 299 SingleValue<E_stitching_method> stitching_method{AttrName::stitching_method, 300 AttrType::keyword}; 301 SingleValue<int> stitching_offset{AttrName::stitching_offset, 302 AttrType::integer}; 303 SingleValue<E_stitching_reference_edge> stitching_reference_edge{ 304 AttrName::stitching_reference_edge, AttrType::keyword}; 305 std::vector<Attribute*> GetKnownAttributes() override; 306 }; 307 struct C_trimming : public Collection { 308 SingleValue<int> trimming_offset{AttrName::trimming_offset, 309 AttrType::integer}; 310 SingleValue<E_trimming_reference_edge> trimming_reference_edge{ 311 AttrName::trimming_reference_edge, AttrType::keyword}; 312 SingleValue<E_trimming_type> trimming_type{AttrName::trimming_type, 313 AttrType::keyword}; 314 SingleValue<E_trimming_when> trimming_when{AttrName::trimming_when, 315 AttrType::keyword}; 316 std::vector<Attribute*> GetKnownAttributes() override; 317 }; 318 SingleCollection<C_baling> baling{AttrName::baling}; 319 SingleCollection<C_binding> binding{AttrName::binding}; 320 SingleCollection<C_coating> coating{AttrName::coating}; 321 SingleCollection<C_covering> covering{AttrName::covering}; 322 SingleValue<E_finishing_template> finishing_template{ 323 AttrName::finishing_template, AttrType::keyword}; 324 SetOfCollections<C_folding> folding{AttrName::folding}; 325 SingleValue<E_imposition_template> imposition_template{ 326 AttrName::imposition_template, AttrType::keyword}; 327 SingleCollection<C_laminating> laminating{AttrName::laminating}; 328 SingleValue<RangeOfInteger> media_sheets_supported{ 329 AttrName::media_sheets_supported, AttrType::rangeOfInteger}; 330 SingleCollection<C_media_size> media_size{AttrName::media_size}; 331 SingleValue<StringWithLanguage> media_size_name{AttrName::media_size_name, 332 AttrType::name}; 333 SingleCollection<C_punching> punching{AttrName::punching}; 334 SingleCollection<C_stitching> stitching{AttrName::stitching}; 335 SetOfCollections<C_trimming> trimming{AttrName::trimming}; 336 std::vector<Attribute*> GetKnownAttributes() override; 337 }; 338 typedef C_finishings_col C_finishings_col_actual; 339 typedef C_finishings_col C_finishings_col_database; 340 typedef C_finishings_col C_finishings_col_default; 341 typedef C_finishings_col C_finishings_col_ready; 342 struct IPP_EXPORT C_insert_sheet : public Collection { 343 SingleValue<int> insert_after_page_number{AttrName::insert_after_page_number, 344 AttrType::integer}; 345 SingleValue<int> insert_count{AttrName::insert_count, AttrType::integer}; 346 SingleValue<E_media> media{AttrName::media, AttrType::keyword}; 347 SingleCollection<C_media_col> media_col{AttrName::media_col}; 348 std::vector<Attribute*> GetKnownAttributes() override; 349 }; 350 typedef C_insert_sheet C_insert_sheet_actual; 351 typedef C_insert_sheet C_insert_sheet_default; 352 struct IPP_EXPORT C_job_accounting_sheets : public Collection { 353 SingleValue<E_job_accounting_output_bin> job_accounting_output_bin{ 354 AttrName::job_accounting_output_bin, AttrType::keyword}; 355 SingleValue<E_job_accounting_sheets_type> job_accounting_sheets_type{ 356 AttrName::job_accounting_sheets_type, AttrType::keyword}; 357 SingleValue<E_media> media{AttrName::media, AttrType::keyword}; 358 SingleCollection<C_media_col> media_col{AttrName::media_col}; 359 std::vector<Attribute*> GetKnownAttributes() override; 360 }; 361 typedef C_job_accounting_sheets C_job_accounting_sheets_actual; 362 typedef C_job_accounting_sheets C_job_accounting_sheets_default; 363 typedef C_cover_back C_job_cover_back; 364 typedef C_cover_back C_job_cover_back_actual; 365 typedef C_cover_back C_job_cover_back_default; 366 typedef C_cover_back C_job_cover_front; 367 typedef C_cover_back C_job_cover_front_actual; 368 typedef C_cover_back C_job_cover_front_default; 369 struct IPP_EXPORT C_job_error_sheet : public Collection { 370 SingleValue<E_job_error_sheet_type> job_error_sheet_type{ 371 AttrName::job_error_sheet_type, AttrType::keyword}; 372 SingleValue<E_job_error_sheet_when> job_error_sheet_when{ 373 AttrName::job_error_sheet_when, AttrType::keyword}; 374 SingleValue<E_media> media{AttrName::media, AttrType::keyword}; 375 SingleCollection<C_media_col> media_col{AttrName::media_col}; 376 std::vector<Attribute*> GetKnownAttributes() override; 377 }; 378 typedef C_job_error_sheet C_job_error_sheet_actual; 379 typedef C_job_error_sheet C_job_error_sheet_default; 380 typedef C_finishings_col C_job_finishings_col; 381 typedef C_finishings_col C_job_finishings_col_default; 382 typedef C_finishings_col C_job_finishings_col_ready; 383 struct IPP_EXPORT C_job_sheets_col : public Collection { 384 SingleValue<E_job_sheets> job_sheets{AttrName::job_sheets, AttrType::keyword}; 385 SingleValue<E_media> media{AttrName::media, AttrType::keyword}; 386 SingleCollection<C_media_col> media_col{AttrName::media_col}; 387 std::vector<Attribute*> GetKnownAttributes() override; 388 }; 389 typedef C_job_sheets_col C_job_sheets_col_actual; 390 typedef C_job_sheets_col C_job_sheets_col_default; 391 struct IPP_EXPORT C_overrides : public Collection { 392 SingleValue<int> copies{AttrName::copies, AttrType::integer}; 393 SingleCollection<C_cover_back> cover_back{AttrName::cover_back}; 394 SingleCollection<C_cover_front> cover_front{AttrName::cover_front}; 395 SetOfValues<RangeOfInteger> document_copies{AttrName::document_copies, 396 AttrType::rangeOfInteger}; 397 SetOfValues<RangeOfInteger> document_numbers{AttrName::document_numbers, 398 AttrType::rangeOfInteger}; 399 SingleValue<E_feed_orientation> feed_orientation{AttrName::feed_orientation, 400 AttrType::keyword}; 401 SetOfValues<E_finishings> finishings{AttrName::finishings, AttrType::enum_}; 402 SetOfCollections<C_finishings_col> finishings_col{AttrName::finishings_col}; 403 SingleValue<StringWithLanguage> font_name_requested{ 404 AttrName::font_name_requested, AttrType::name}; 405 SingleValue<int> font_size_requested{AttrName::font_size_requested, 406 AttrType::integer}; 407 SetOfValues<int> force_front_side{AttrName::force_front_side, 408 AttrType::integer}; 409 SingleValue<E_imposition_template> imposition_template{ 410 AttrName::imposition_template, AttrType::keyword}; 411 SetOfCollections<C_insert_sheet> insert_sheet{AttrName::insert_sheet}; 412 SingleValue<StringWithLanguage> job_account_id{AttrName::job_account_id, 413 AttrType::name}; 414 SingleValue<E_job_account_type> job_account_type{AttrName::job_account_type, 415 AttrType::keyword}; 416 SingleCollection<C_job_accounting_sheets> job_accounting_sheets{ 417 AttrName::job_accounting_sheets}; 418 SingleValue<StringWithLanguage> job_accounting_user_id{ 419 AttrName::job_accounting_user_id, AttrType::name}; 420 SingleValue<int> job_copies{AttrName::job_copies, AttrType::integer}; 421 SingleCollection<C_job_cover_back> job_cover_back{AttrName::job_cover_back}; 422 SingleCollection<C_job_cover_front> job_cover_front{ 423 AttrName::job_cover_front}; 424 SingleValue<E_job_delay_output_until> job_delay_output_until{ 425 AttrName::job_delay_output_until, AttrType::keyword}; 426 SingleValue<DateTime> job_delay_output_until_time{ 427 AttrName::job_delay_output_until_time, AttrType::dateTime}; 428 SingleValue<E_job_error_action> job_error_action{AttrName::job_error_action, 429 AttrType::keyword}; 430 SingleCollection<C_job_error_sheet> job_error_sheet{ 431 AttrName::job_error_sheet}; 432 SetOfValues<E_job_finishings> job_finishings{AttrName::job_finishings, 433 AttrType::enum_}; 434 SetOfCollections<C_job_finishings_col> job_finishings_col{ 435 AttrName::job_finishings_col}; 436 SingleValue<E_job_hold_until> job_hold_until{AttrName::job_hold_until, 437 AttrType::keyword}; 438 SingleValue<DateTime> job_hold_until_time{AttrName::job_hold_until_time, 439 AttrType::dateTime}; 440 SingleValue<StringWithLanguage> job_message_to_operator{ 441 AttrName::job_message_to_operator, AttrType::text}; 442 SingleValue<int> job_pages_per_set{AttrName::job_pages_per_set, 443 AttrType::integer}; 444 SingleValue<std::string> job_phone_number{AttrName::job_phone_number, 445 AttrType::uri}; 446 SingleValue<int> job_priority{AttrName::job_priority, AttrType::integer}; 447 SingleValue<StringWithLanguage> job_recipient_name{ 448 AttrName::job_recipient_name, AttrType::name}; 449 SingleCollection<C_job_save_disposition> job_save_disposition{ 450 AttrName::job_save_disposition}; 451 SingleValue<StringWithLanguage> job_sheet_message{AttrName::job_sheet_message, 452 AttrType::text}; 453 SingleValue<E_job_sheets> job_sheets{AttrName::job_sheets, AttrType::keyword}; 454 SingleCollection<C_job_sheets_col> job_sheets_col{AttrName::job_sheets_col}; 455 SingleValue<E_media> media{AttrName::media, AttrType::keyword}; 456 SingleCollection<C_media_col> media_col{AttrName::media_col}; 457 SingleValue<E_media_input_tray_check> media_input_tray_check{ 458 AttrName::media_input_tray_check, AttrType::keyword}; 459 SingleValue<E_multiple_document_handling> multiple_document_handling{ 460 AttrName::multiple_document_handling, AttrType::keyword}; 461 SingleValue<int> number_up{AttrName::number_up, AttrType::integer}; 462 SingleValue<E_orientation_requested> orientation_requested{ 463 AttrName::orientation_requested, AttrType::enum_}; 464 SingleValue<E_output_bin> output_bin{AttrName::output_bin, AttrType::keyword}; 465 SingleValue<StringWithLanguage> output_device{AttrName::output_device, 466 AttrType::name}; 467 SingleValue<E_page_delivery> page_delivery{AttrName::page_delivery, 468 AttrType::keyword}; 469 SingleValue<E_page_order_received> page_order_received{ 470 AttrName::page_order_received, AttrType::keyword}; 471 SetOfValues<RangeOfInteger> page_ranges{AttrName::page_ranges, 472 AttrType::rangeOfInteger}; 473 SetOfValues<RangeOfInteger> pages{AttrName::pages, AttrType::rangeOfInteger}; 474 SetOfValues<int> pages_per_subset{AttrName::pages_per_subset, 475 AttrType::integer}; 476 SetOfCollections<C_pdl_init_file> pdl_init_file{AttrName::pdl_init_file}; 477 SingleValue<E_presentation_direction_number_up> 478 presentation_direction_number_up{ 479 AttrName::presentation_direction_number_up, AttrType::keyword}; 480 SingleValue<E_print_color_mode> print_color_mode{AttrName::print_color_mode, 481 AttrType::keyword}; 482 SingleValue<E_print_content_optimize> print_content_optimize{ 483 AttrName::print_content_optimize, AttrType::keyword}; 484 SingleValue<E_print_quality> print_quality{AttrName::print_quality, 485 AttrType::enum_}; 486 SingleValue<E_print_rendering_intent> print_rendering_intent{ 487 AttrName::print_rendering_intent, AttrType::keyword}; 488 SingleValue<E_print_scaling> print_scaling{AttrName::print_scaling, 489 AttrType::keyword}; 490 SingleValue<Resolution> printer_resolution{AttrName::printer_resolution, 491 AttrType::resolution}; 492 SingleCollection<C_proof_print> proof_print{AttrName::proof_print}; 493 SingleCollection<C_separator_sheets> separator_sheets{ 494 AttrName::separator_sheets}; 495 SingleValue<E_sheet_collate> sheet_collate{AttrName::sheet_collate, 496 AttrType::keyword}; 497 SingleValue<E_sides> sides{AttrName::sides, AttrType::keyword}; 498 SingleValue<E_x_image_position> x_image_position{AttrName::x_image_position, 499 AttrType::keyword}; 500 SingleValue<int> x_image_shift{AttrName::x_image_shift, AttrType::integer}; 501 SingleValue<int> x_side1_image_shift{AttrName::x_side1_image_shift, 502 AttrType::integer}; 503 SingleValue<int> x_side2_image_shift{AttrName::x_side2_image_shift, 504 AttrType::integer}; 505 SingleValue<E_y_image_position> y_image_position{AttrName::y_image_position, 506 AttrType::keyword}; 507 SingleValue<int> y_image_shift{AttrName::y_image_shift, AttrType::integer}; 508 SingleValue<int> y_side1_image_shift{AttrName::y_side1_image_shift, 509 AttrType::integer}; 510 SingleValue<int> y_side2_image_shift{AttrName::y_side2_image_shift, 511 AttrType::integer}; 512 std::vector<Attribute*> GetKnownAttributes() override; 513 }; 514 typedef C_overrides C_overrides_actual; 515 } // namespace ipp 516 517 #endif // LIBIPP_IPP_COLLECTIONS_H_ 518