1package Net::CUPS; 2 3##==================================================================## 4## Libraries and Variables ## 5##==================================================================## 6 7use 5.006; 8use strict; 9use warnings; 10use Carp; 11 12require Exporter; 13use AutoLoader; 14 15our @ISA = qw(Exporter); 16 17# Items to export into callers namespace by default. Note: do not export 18# names by default without a very good reason. Use EXPORT_OK instead. 19# Do not simply export all your public functions/methods/constants. 20 21# This allows declaration use Net::CUPS ':all'; 22# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK 23# will save memory. 24our %EXPORT_TAGS = ( 'all' => [ qw( 25 AF_LOCAL 26 CUPS_ACCEPT_JOBS 27 CUPS_ADD_CLASS 28 CUPS_ADD_MODIFY_CLASS 29 CUPS_ADD_MODIFY_PRINTER 30 CUPS_ADD_PRINTER 31 CUPS_AUTHENTICATE_JOB 32 CUPS_AUTO_ENCODING 33 CUPS_BACKEND_AUTH_REQUIRED 34 CUPS_BACKEND_CANCEL 35 CUPS_BACKEND_FAILED 36 CUPS_BACKEND_HOLD 37 CUPS_BACKEND_OK 38 CUPS_BACKEND_STOP 39 CUPS_DATE_ANY 40 CUPS_DELETE_CLASS 41 CUPS_DELETE_PRINTER 42 CUPS_ENCODING_DBCS_END 43 CUPS_ENCODING_SBCS_END 44 CUPS_ENCODING_VBCS_END 45 CUPS_EUC_CN 46 CUPS_EUC_JP 47 CUPS_EUC_KR 48 CUPS_EUC_TW 49 CUPS_FILE_GZIP 50 CUPS_FILE_NONE 51 CUPS_GET_CLASSES 52 CUPS_GET_DEFAULT 53 CUPS_GET_DEVICES 54 CUPS_GET_PPDS 55 CUPS_GET_PRINTERS 56 CUPS_IMAGE_BLACK 57 CUPS_IMAGE_CMY 58 CUPS_IMAGE_CMYK 59 CUPS_IMAGE_RGB 60 CUPS_IMAGE_RGB_CMYK 61 CUPS_IMAGE_WHITE 62 CUPS_ISO8859_1 63 CUPS_ISO8859_10 64 CUPS_ISO8859_11 65 CUPS_ISO8859_13 66 CUPS_ISO8859_14 67 CUPS_ISO8859_15 68 CUPS_ISO8859_16 69 CUPS_ISO8859_2 70 CUPS_ISO8859_3 71 CUPS_ISO8859_4 72 CUPS_ISO8859_5 73 CUPS_ISO8859_6 74 CUPS_ISO8859_7 75 CUPS_ISO8859_8 76 CUPS_ISO8859_9 77 CUPS_KOI8_R 78 CUPS_KOI8_U 79 CUPS_MAC_ROMAN 80 CUPS_MAX_USTRING 81 CUPS_MOVE_JOB 82 CUPS_PRINTER_AUTHENTICATED 83 CUPS_PRINTER_BIND 84 CUPS_PRINTER_BW 85 CUPS_PRINTER_CLASS 86 CUPS_PRINTER_COLLATE 87 CUPS_PRINTER_COLOR 88 CUPS_PRINTER_COMMANDS 89 CUPS_PRINTER_COPIES 90 CUPS_PRINTER_COVER 91 CUPS_PRINTER_DEFAULT 92 CUPS_PRINTER_DELETE 93 CUPS_PRINTER_DUPLEX 94 CUPS_PRINTER_FAX 95 CUPS_PRINTER_IMPLICIT 96 CUPS_PRINTER_LARGE 97 CUPS_PRINTER_LOCAL 98 CUPS_PRINTER_MEDIUM 99 CUPS_PRINTER_NOT_SHARED 100 CUPS_PRINTER_OPTIONS 101 CUPS_PRINTER_PUNCH 102 CUPS_PRINTER_REJECTING 103 CUPS_PRINTER_REMOTE 104 CUPS_PRINTER_SMALL 105 CUPS_PRINTER_SORT 106 CUPS_PRINTER_STAPLE 107 CUPS_PRINTER_VARIABLE 108 CUPS_REJECT_JOBS 109 CUPS_SET_DEFAULT 110 CUPS_US_ASCII 111 CUPS_UTF8 112 CUPS_VERSION 113 CUPS_VERSION_MAJOR 114 CUPS_VERSION_MINOR 115 CUPS_VERSION_PATCH 116 CUPS_WINDOWS_1250 117 CUPS_WINDOWS_1251 118 CUPS_WINDOWS_1252 119 CUPS_WINDOWS_1253 120 CUPS_WINDOWS_1254 121 CUPS_WINDOWS_1255 122 CUPS_WINDOWS_1256 123 CUPS_WINDOWS_1257 124 CUPS_WINDOWS_1258 125 CUPS_WINDOWS_1361 126 CUPS_WINDOWS_874 127 CUPS_WINDOWS_932 128 CUPS_WINDOWS_936 129 CUPS_WINDOWS_949 130 CUPS_WINDOWS_950 131 HTTP_0_9 132 HTTP_1_0 133 HTTP_1_1 134 HTTP_ACCEPTED 135 HTTP_AUTH_BASIC 136 HTTP_AUTH_MD5 137 HTTP_AUTH_MD5_INT 138 HTTP_AUTH_MD5_SESS 139 HTTP_AUTH_MD5_SESS_INT 140 HTTP_AUTH_NONE 141 HTTP_BAD_GATEWAY 142 HTTP_BAD_REQUEST 143 HTTP_CLOSE 144 HTTP_CONFLICT 145 HTTP_CONTINUE 146 HTTP_CREATED 147 HTTP_DELETE 148 HTTP_ENCODE_CHUNKED 149 HTTP_ENCODE_FIELDS 150 HTTP_ENCODE_LENGTH 151 HTTP_ENCRYPT_ALWAYS 152 HTTP_ENCRYPT_IF_REQUESTED 153 HTTP_ENCRYPT_NEVER 154 HTTP_ENCRYPT_REQUIRED 155 HTTP_ERROR 156 HTTP_EXPECTATION_FAILED 157 HTTP_FIELD_ACCEPT_LANGUAGE 158 HTTP_FIELD_ACCEPT_RANGES 159 HTTP_FIELD_AUTHORIZATION 160 HTTP_FIELD_CONNECTION 161 HTTP_FIELD_CONTENT_ENCODING 162 HTTP_FIELD_CONTENT_LANGUAGE 163 HTTP_FIELD_CONTENT_LENGTH 164 HTTP_FIELD_CONTENT_LOCATION 165 HTTP_FIELD_CONTENT_MD5 166 HTTP_FIELD_CONTENT_RANGE 167 HTTP_FIELD_CONTENT_TYPE 168 HTTP_FIELD_CONTENT_VERSION 169 HTTP_FIELD_DATE 170 HTTP_FIELD_HOST 171 HTTP_FIELD_IF_MODIFIED_SINCE 172 HTTP_FIELD_IF_UNMODIFIED_SINCE 173 HTTP_FIELD_KEEP_ALIVE 174 HTTP_FIELD_LAST_MODIFIED 175 HTTP_FIELD_LINK 176 HTTP_FIELD_LOCATION 177 HTTP_FIELD_MAX 178 HTTP_FIELD_RANGE 179 HTTP_FIELD_REFERER 180 HTTP_FIELD_RETRY_AFTER 181 HTTP_FIELD_TRANSFER_ENCODING 182 HTTP_FIELD_UNKNOWN 183 HTTP_FIELD_UPGRADE 184 HTTP_FIELD_USER_AGENT 185 HTTP_FIELD_WWW_AUTHENTICATE 186 HTTP_FORBIDDEN 187 HTTP_GATEWAY_TIMEOUT 188 HTTP_GET 189 HTTP_GET_SEND 190 HTTP_GONE 191 HTTP_HEAD 192 HTTP_KEEPALIVE_OFF 193 HTTP_KEEPALIVE_ON 194 HTTP_LENGTH_REQUIRED 195 HTTP_MAX_BUFFER 196 HTTP_MAX_HOST 197 HTTP_MAX_URI 198 HTTP_MAX_VALUE 199 HTTP_METHOD_NOT_ALLOWED 200 HTTP_MOVED_PERMANENTLY 201 HTTP_MOVED_TEMPORARILY 202 HTTP_MULTIPLE_CHOICES 203 HTTP_NOT_ACCEPTABLE 204 HTTP_NOT_AUTHORITATIVE 205 HTTP_NOT_FOUND 206 HTTP_NOT_IMPLEMENTED 207 HTTP_NOT_MODIFIED 208 HTTP_NOT_SUPPORTED 209 HTTP_NO_CONTENT 210 HTTP_OK 211 HTTP_OPTIONS 212 HTTP_PARTIAL_CONTENT 213 HTTP_PAYMENT_REQUIRED 214 HTTP_POST 215 HTTP_POST_RECV 216 HTTP_POST_SEND 217 HTTP_PRECONDITION 218 HTTP_PROXY_AUTHENTICATION 219 HTTP_PUT 220 HTTP_PUT_RECV 221 HTTP_REQUESTED_RANGE 222 HTTP_REQUEST_TIMEOUT 223 HTTP_REQUEST_TOO_LARGE 224 HTTP_RESET_CONTENT 225 HTTP_SEE_OTHER 226 HTTP_SERVER_ERROR 227 HTTP_SERVICE_UNAVAILABLE 228 HTTP_STATUS 229 HTTP_SWITCHING_PROTOCOLS 230 HTTP_TRACE 231 HTTP_UNAUTHORIZED 232 HTTP_UNSUPPORTED_MEDIATYPE 233 HTTP_UPGRADE_REQUIRED 234 HTTP_URI_BAD_ARGUMENTS 235 HTTP_URI_BAD_HOSTNAME 236 HTTP_URI_BAD_PORT 237 HTTP_URI_BAD_RESOURCE 238 HTTP_URI_BAD_SCHEME 239 HTTP_URI_BAD_URI 240 HTTP_URI_BAD_USERNAME 241 HTTP_URI_CODING_ALL 242 HTTP_URI_CODING_HOSTNAME 243 HTTP_URI_CODING_MOST 244 HTTP_URI_CODING_NONE 245 HTTP_URI_CODING_QUERY 246 HTTP_URI_CODING_RESOURCE 247 HTTP_URI_CODING_USERNAME 248 HTTP_URI_MISSING_RESOURCE 249 HTTP_URI_MISSING_SCHEME 250 HTTP_URI_OK 251 HTTP_URI_OVERFLOW 252 HTTP_URI_TOO_LONG 253 HTTP_URI_UNKNOWN_SCHEME 254 HTTP_USE_PROXY 255 HTTP_WAITING 256 INET6 257 IPP_ACTIVATE_PRINTER 258 IPP_ATTRIBUTE 259 IPP_ATTRIBUTES 260 IPP_ATTRIBUTES_NOT_SETTABLE 261 IPP_BAD_REQUEST 262 IPP_CANCEL_CURRENT_JOB 263 IPP_CANCEL_JOB 264 IPP_CANCEL_SUBSCRIPTION 265 IPP_CHARSET 266 IPP_COMPRESSION_ERROR 267 IPP_COMPRESSION_NOT_SUPPORTED 268 IPP_CONFLICT 269 IPP_CREATE_JOB 270 IPP_CREATE_JOB_SUBSCRIPTION 271 IPP_CREATE_PRINTER_SUBSCRIPTION 272 IPP_DATA 273 IPP_DEACTIVATE_PRINTER 274 IPP_DEVICE_ERROR 275 IPP_DISABLE_PRINTER 276 IPP_DOCUMENT_ACCESS_ERROR 277 IPP_DOCUMENT_FORMAT 278 IPP_DOCUMENT_FORMAT_ERROR 279 IPP_ENABLE_PRINTER 280 IPP_ERROR 281 IPP_ERROR_JOB_CANCELED 282 IPP_ERROR_JOB_CANCELLED 283 IPP_FINISHINGS_BALE 284 IPP_FINISHINGS_BIND 285 IPP_FINISHINGS_BIND_BOTTOM 286 IPP_FINISHINGS_BIND_LEFT 287 IPP_FINISHINGS_BIND_RIGHT 288 IPP_FINISHINGS_BIND_TOP 289 IPP_FINISHINGS_BOOKLET_MAKER 290 IPP_FINISHINGS_COVER 291 IPP_FINISHINGS_EDGE_STITCH 292 IPP_FINISHINGS_EDGE_STITCH_BOTTOM 293 IPP_FINISHINGS_EDGE_STITCH_LEFT 294 IPP_FINISHINGS_EDGE_STITCH_RIGHT 295 IPP_FINISHINGS_EDGE_STITCH_TOP 296 IPP_FINISHINGS_FOLD 297 IPP_FINISHINGS_JOB_OFFSET 298 IPP_FINISHINGS_NONE 299 IPP_FINISHINGS_PUNCH 300 IPP_FINISHINGS_SADDLE_STITCH 301 IPP_FINISHINGS_STAPLE 302 IPP_FINISHINGS_STAPLE_BOTTOM_LEFT 303 IPP_FINISHINGS_STAPLE_BOTTOM_RIGHT 304 IPP_FINISHINGS_STAPLE_DUAL_BOTTOM 305 IPP_FINISHINGS_STAPLE_DUAL_LEFT 306 IPP_FINISHINGS_STAPLE_DUAL_RIGHT 307 IPP_FINISHINGS_STAPLE_DUAL_TOP 308 IPP_FINISHINGS_STAPLE_TOP_LEFT 309 IPP_FINISHINGS_STAPLE_TOP_RIGHT 310 IPP_FINISHINGS_TRIM 311 IPP_FORBIDDEN 312 IPP_GET_JOBS 313 IPP_GET_JOB_ATTRIBUTES 314 IPP_GET_NOTIFICATIONS 315 IPP_GET_PRINTER_ATTRIBUTES 316 IPP_GET_PRINTER_SUPPORTED_VALUES 317 IPP_GET_PRINT_SUPPORT_FILES 318 IPP_GET_SUBSCRIPTIONS 319 IPP_GET_SUBSCRIPTION_ATTRIBUTES 320 IPP_GONE 321 IPP_HEADER 322 IPP_HOLD_JOB 323 IPP_HOLD_NEW_JOBS 324 IPP_IDLE 325 IPP_IGNORED_ALL_NOTIFICATIONS 326 IPP_IGNORED_ALL_SUBSCRIPTIONS 327 IPP_INTERNAL_ERROR 328 IPP_JOB_ABORTED 329 IPP_JOB_CANCELED 330 IPP_JOB_CANCELLED 331 IPP_JOB_COMPLETED 332 IPP_JOB_HELD 333 IPP_JOB_PENDING 334 IPP_JOB_PROCESSING 335 IPP_JOB_STOPPED 336 IPP_LANDSCAPE 337 IPP_MAX_NAME 338 IPP_MAX_VALUES 339 IPP_MULTIPLE_JOBS_NOT_SUPPORTED 340 IPP_NOT_ACCEPTING 341 IPP_NOT_AUTHENTICATED 342 IPP_NOT_AUTHORIZED 343 IPP_NOT_FOUND 344 IPP_NOT_POSSIBLE 345 IPP_OK 346 IPP_OK_BUT_CANCEL_SUBSCRIPTION 347 IPP_OK_CONFLICT 348 IPP_OK_EVENTS_COMPLETE 349 IPP_OK_IGNORED_NOTIFICATIONS 350 IPP_OK_IGNORED_SUBSCRIPTIONS 351 IPP_OK_SUBST 352 IPP_OK_TOO_MANY_EVENTS 353 IPP_OPERATION_NOT_SUPPORTED 354 IPP_PAUSE_PRINTER 355 IPP_PAUSE_PRINTER_AFTER_CURRENT_JOB 356 IPP_PORT 357 IPP_PORTRAIT 358 IPP_PRINTER_BUSY 359 IPP_PRINTER_IDLE 360 IPP_PRINTER_IS_DEACTIVATED 361 IPP_PRINTER_PROCESSING 362 IPP_PRINTER_STOPPED 363 IPP_PRINT_JOB 364 IPP_PRINT_SUPPORT_FILE_NOT_FOUND 365 IPP_PRINT_URI 366 IPP_PRIVATE 367 IPP_PROMOTE_JOB 368 IPP_PURGE_JOBS 369 IPP_QUALITY_DRAFT 370 IPP_QUALITY_HIGH 371 IPP_QUALITY_NORMAL 372 IPP_REDIRECTION_OTHER_SITE 373 IPP_RELEASE_HELD_NEW_JOBS 374 IPP_RELEASE_JOB 375 IPP_RENEW_SUBSCRIPTION 376 IPP_REPROCESS_JOB 377 IPP_REQUEST_ENTITY 378 IPP_REQUEST_VALUE 379 IPP_RESTART_JOB 380 IPP_RESTART_PRINTER 381 IPP_RESUME_JOB 382 IPP_RESUME_PRINTER 383 IPP_RES_PER_CM 384 IPP_RES_PER_INCH 385 IPP_REVERSE_LANDSCAPE 386 IPP_REVERSE_PORTRAIT 387 IPP_SCHEDULE_JOB_AFTER 388 IPP_SEND_DOCUMENT 389 IPP_SEND_NOTIFICATIONS 390 IPP_SEND_URI 391 IPP_SERVICE_UNAVAILABLE 392 IPP_SET_JOB_ATTRIBUTES 393 IPP_SET_PRINTER_ATTRIBUTES 394 IPP_SHUTDOWN_PRINTER 395 IPP_STARTUP_PRINTER 396 IPP_SUSPEND_CURRENT_JOB 397 IPP_TAG_ADMINDEFINE 398 IPP_TAG_BEGIN_COLLECTION 399 IPP_TAG_BOOLEAN 400 IPP_TAG_CHARSET 401 IPP_TAG_COPY 402 IPP_TAG_DATE 403 IPP_TAG_DEFAULT 404 IPP_TAG_DELETEATTR 405 IPP_TAG_END 406 IPP_TAG_END_COLLECTION 407 IPP_TAG_ENUM 408 IPP_TAG_EVENT_NOTIFICATION 409 IPP_TAG_INTEGER 410 IPP_TAG_JOB 411 IPP_TAG_KEYWORD 412 IPP_TAG_LANGUAGE 413 IPP_TAG_MASK 414 IPP_TAG_MEMBERNAME 415 IPP_TAG_MIMETYPE 416 IPP_TAG_NAME 417 IPP_TAG_NAMELANG 418 IPP_TAG_NOTSETTABLE 419 IPP_TAG_NOVALUE 420 IPP_TAG_OPERATION 421 IPP_TAG_PRINTER 422 IPP_TAG_RANGE 423 IPP_TAG_RESOLUTION 424 IPP_TAG_STRING 425 IPP_TAG_SUBSCRIPTION 426 IPP_TAG_TEXT 427 IPP_TAG_TEXTLANG 428 IPP_TAG_UNKNOWN 429 IPP_TAG_UNSUPPORTED_GROUP 430 IPP_TAG_UNSUPPORTED_VALUE 431 IPP_TAG_URI 432 IPP_TAG_URISCHEME 433 IPP_TAG_ZERO 434 IPP_TEMPORARY_ERROR 435 IPP_TIMEOUT 436 IPP_TOO_MANY_SUBSCRIPTIONS 437 IPP_URI_SCHEME 438 IPP_VALIDATE_JOB 439 IPP_VERSION_NOT_SUPPORTED 440 PPD_ALLOC_ERROR 441 PPD_BAD_CUSTOM_PARAM 442 PPD_BAD_OPEN_GROUP 443 PPD_BAD_OPEN_UI 444 PPD_BAD_ORDER_DEPENDENCY 445 PPD_BAD_UI_CONSTRAINTS 446 PPD_CONFORM_RELAXED 447 PPD_CONFORM_STRICT 448 PPD_CS_CMY 449 PPD_CS_CMYK 450 PPD_CS_GRAY 451 PPD_CS_N 452 PPD_CS_RGB 453 PPD_CS_RGBK 454 PPD_CUSTOM_CURVE 455 PPD_CUSTOM_INT 456 PPD_CUSTOM_INVCURVE 457 PPD_CUSTOM_PASSCODE 458 PPD_CUSTOM_PASSWORD 459 PPD_CUSTOM_POINTS 460 PPD_CUSTOM_REAL 461 PPD_CUSTOM_STRING 462 PPD_FILE_OPEN_ERROR 463 PPD_ILLEGAL_CHARACTER 464 PPD_ILLEGAL_MAIN_KEYWORD 465 PPD_ILLEGAL_OPTION_KEYWORD 466 PPD_ILLEGAL_TRANSLATION 467 PPD_ILLEGAL_WHITESPACE 468 PPD_INTERNAL_ERROR 469 PPD_LINE_TOO_LONG 470 PPD_MAX_LINE 471 PPD_MAX_NAME 472 PPD_MAX_TEXT 473 PPD_MISSING_ASTERISK 474 PPD_MISSING_PPDADOBE4 475 PPD_MISSING_VALUE 476 PPD_NESTED_OPEN_GROUP 477 PPD_NESTED_OPEN_UI 478 PPD_NULL_FILE 479 PPD_OK 480 PPD_ORDER_ANY 481 PPD_ORDER_DOCUMENT 482 PPD_ORDER_EXIT 483 PPD_ORDER_JCL 484 PPD_ORDER_PAGE 485 PPD_ORDER_PROLOG 486 PPD_UI_BOOLEAN 487 PPD_UI_PICKMANY 488 PPD_UI_PICKONE 489 PPD_VERSION 490) ] ); 491 492our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } ); 493 494our @EXPORT = qw( 495 AF_LOCAL 496 CUPS_ACCEPT_JOBS 497 CUPS_ADD_CLASS 498 CUPS_ADD_MODIFY_CLASS 499 CUPS_ADD_MODIFY_PRINTER 500 CUPS_ADD_PRINTER 501 CUPS_AUTHENTICATE_JOB 502 CUPS_AUTO_ENCODING 503 CUPS_BACKEND_AUTH_REQUIRED 504 CUPS_BACKEND_CANCEL 505 CUPS_BACKEND_FAILED 506 CUPS_BACKEND_HOLD 507 CUPS_BACKEND_OK 508 CUPS_BACKEND_STOP 509 CUPS_DATE_ANY 510 CUPS_DELETE_CLASS 511 CUPS_DELETE_PRINTER 512 CUPS_ENCODING_DBCS_END 513 CUPS_ENCODING_SBCS_END 514 CUPS_ENCODING_VBCS_END 515 CUPS_EUC_CN 516 CUPS_EUC_JP 517 CUPS_EUC_KR 518 CUPS_EUC_TW 519 CUPS_FILE_GZIP 520 CUPS_FILE_NONE 521 CUPS_GET_CLASSES 522 CUPS_GET_DEFAULT 523 CUPS_GET_DEVICES 524 CUPS_GET_PPDS 525 CUPS_GET_PRINTERS 526 CUPS_IMAGE_BLACK 527 CUPS_IMAGE_CMY 528 CUPS_IMAGE_CMYK 529 CUPS_IMAGE_RGB 530 CUPS_IMAGE_RGB_CMYK 531 CUPS_IMAGE_WHITE 532 CUPS_ISO8859_1 533 CUPS_ISO8859_10 534 CUPS_ISO8859_11 535 CUPS_ISO8859_13 536 CUPS_ISO8859_14 537 CUPS_ISO8859_15 538 CUPS_ISO8859_16 539 CUPS_ISO8859_2 540 CUPS_ISO8859_3 541 CUPS_ISO8859_4 542 CUPS_ISO8859_5 543 CUPS_ISO8859_6 544 CUPS_ISO8859_7 545 CUPS_ISO8859_8 546 CUPS_ISO8859_9 547 CUPS_KOI8_R 548 CUPS_KOI8_U 549 CUPS_MAC_ROMAN 550 CUPS_MAX_USTRING 551 CUPS_MOVE_JOB 552 CUPS_PRINTER_AUTHENTICATED 553 CUPS_PRINTER_BIND 554 CUPS_PRINTER_BW 555 CUPS_PRINTER_CLASS 556 CUPS_PRINTER_COLLATE 557 CUPS_PRINTER_COLOR 558 CUPS_PRINTER_COMMANDS 559 CUPS_PRINTER_COPIES 560 CUPS_PRINTER_COVER 561 CUPS_PRINTER_DEFAULT 562 CUPS_PRINTER_DELETE 563 CUPS_PRINTER_DUPLEX 564 CUPS_PRINTER_FAX 565 CUPS_PRINTER_IMPLICIT 566 CUPS_PRINTER_LARGE 567 CUPS_PRINTER_LOCAL 568 CUPS_PRINTER_MEDIUM 569 CUPS_PRINTER_NOT_SHARED 570 CUPS_PRINTER_OPTIONS 571 CUPS_PRINTER_PUNCH 572 CUPS_PRINTER_REJECTING 573 CUPS_PRINTER_REMOTE 574 CUPS_PRINTER_SMALL 575 CUPS_PRINTER_SORT 576 CUPS_PRINTER_STAPLE 577 CUPS_PRINTER_VARIABLE 578 CUPS_REJECT_JOBS 579 CUPS_SET_DEFAULT 580 CUPS_US_ASCII 581 CUPS_UTF8 582 CUPS_VERSION 583 CUPS_VERSION_MAJOR 584 CUPS_VERSION_MINOR 585 CUPS_VERSION_PATCH 586 CUPS_WINDOWS_1250 587 CUPS_WINDOWS_1251 588 CUPS_WINDOWS_1252 589 CUPS_WINDOWS_1253 590 CUPS_WINDOWS_1254 591 CUPS_WINDOWS_1255 592 CUPS_WINDOWS_1256 593 CUPS_WINDOWS_1257 594 CUPS_WINDOWS_1258 595 CUPS_WINDOWS_1361 596 CUPS_WINDOWS_874 597 CUPS_WINDOWS_932 598 CUPS_WINDOWS_936 599 CUPS_WINDOWS_949 600 CUPS_WINDOWS_950 601 HTTP_0_9 602 HTTP_1_0 603 HTTP_1_1 604 HTTP_ACCEPTED 605 HTTP_AUTH_BASIC 606 HTTP_AUTH_MD5 607 HTTP_AUTH_MD5_INT 608 HTTP_AUTH_MD5_SESS 609 HTTP_AUTH_MD5_SESS_INT 610 HTTP_AUTH_NONE 611 HTTP_BAD_GATEWAY 612 HTTP_BAD_REQUEST 613 HTTP_CLOSE 614 HTTP_CONFLICT 615 HTTP_CONTINUE 616 HTTP_CREATED 617 HTTP_DELETE 618 HTTP_ENCODE_CHUNKED 619 HTTP_ENCODE_FIELDS 620 HTTP_ENCODE_LENGTH 621 HTTP_ENCRYPT_ALWAYS 622 HTTP_ENCRYPT_IF_REQUESTED 623 HTTP_ENCRYPT_NEVER 624 HTTP_ENCRYPT_REQUIRED 625 HTTP_ERROR 626 HTTP_EXPECTATION_FAILED 627 HTTP_FIELD_ACCEPT_LANGUAGE 628 HTTP_FIELD_ACCEPT_RANGES 629 HTTP_FIELD_AUTHORIZATION 630 HTTP_FIELD_CONNECTION 631 HTTP_FIELD_CONTENT_ENCODING 632 HTTP_FIELD_CONTENT_LANGUAGE 633 HTTP_FIELD_CONTENT_LENGTH 634 HTTP_FIELD_CONTENT_LOCATION 635 HTTP_FIELD_CONTENT_MD5 636 HTTP_FIELD_CONTENT_RANGE 637 HTTP_FIELD_CONTENT_TYPE 638 HTTP_FIELD_CONTENT_VERSION 639 HTTP_FIELD_DATE 640 HTTP_FIELD_HOST 641 HTTP_FIELD_IF_MODIFIED_SINCE 642 HTTP_FIELD_IF_UNMODIFIED_SINCE 643 HTTP_FIELD_KEEP_ALIVE 644 HTTP_FIELD_LAST_MODIFIED 645 HTTP_FIELD_LINK 646 HTTP_FIELD_LOCATION 647 HTTP_FIELD_MAX 648 HTTP_FIELD_RANGE 649 HTTP_FIELD_REFERER 650 HTTP_FIELD_RETRY_AFTER 651 HTTP_FIELD_TRANSFER_ENCODING 652 HTTP_FIELD_UNKNOWN 653 HTTP_FIELD_UPGRADE 654 HTTP_FIELD_USER_AGENT 655 HTTP_FIELD_WWW_AUTHENTICATE 656 HTTP_FORBIDDEN 657 HTTP_GATEWAY_TIMEOUT 658 HTTP_GET 659 HTTP_GET_SEND 660 HTTP_GONE 661 HTTP_HEAD 662 HTTP_KEEPALIVE_OFF 663 HTTP_KEEPALIVE_ON 664 HTTP_LENGTH_REQUIRED 665 HTTP_MAX_BUFFER 666 HTTP_MAX_HOST 667 HTTP_MAX_URI 668 HTTP_MAX_VALUE 669 HTTP_METHOD_NOT_ALLOWED 670 HTTP_MOVED_PERMANENTLY 671 HTTP_MOVED_TEMPORARILY 672 HTTP_MULTIPLE_CHOICES 673 HTTP_NOT_ACCEPTABLE 674 HTTP_NOT_AUTHORITATIVE 675 HTTP_NOT_FOUND 676 HTTP_NOT_IMPLEMENTED 677 HTTP_NOT_MODIFIED 678 HTTP_NOT_SUPPORTED 679 HTTP_NO_CONTENT 680 HTTP_OK 681 HTTP_OPTIONS 682 HTTP_PARTIAL_CONTENT 683 HTTP_PAYMENT_REQUIRED 684 HTTP_POST 685 HTTP_POST_RECV 686 HTTP_POST_SEND 687 HTTP_PRECONDITION 688 HTTP_PROXY_AUTHENTICATION 689 HTTP_PUT 690 HTTP_PUT_RECV 691 HTTP_REQUESTED_RANGE 692 HTTP_REQUEST_TIMEOUT 693 HTTP_REQUEST_TOO_LARGE 694 HTTP_RESET_CONTENT 695 HTTP_SEE_OTHER 696 HTTP_SERVER_ERROR 697 HTTP_SERVICE_UNAVAILABLE 698 HTTP_STATUS 699 HTTP_SWITCHING_PROTOCOLS 700 HTTP_TRACE 701 HTTP_UNAUTHORIZED 702 HTTP_UNSUPPORTED_MEDIATYPE 703 HTTP_UPGRADE_REQUIRED 704 HTTP_URI_BAD_ARGUMENTS 705 HTTP_URI_BAD_HOSTNAME 706 HTTP_URI_BAD_PORT 707 HTTP_URI_BAD_RESOURCE 708 HTTP_URI_BAD_SCHEME 709 HTTP_URI_BAD_URI 710 HTTP_URI_BAD_USERNAME 711 HTTP_URI_CODING_ALL 712 HTTP_URI_CODING_HOSTNAME 713 HTTP_URI_CODING_MOST 714 HTTP_URI_CODING_NONE 715 HTTP_URI_CODING_QUERY 716 HTTP_URI_CODING_RESOURCE 717 HTTP_URI_CODING_USERNAME 718 HTTP_URI_MISSING_RESOURCE 719 HTTP_URI_MISSING_SCHEME 720 HTTP_URI_OK 721 HTTP_URI_OVERFLOW 722 HTTP_URI_TOO_LONG 723 HTTP_URI_UNKNOWN_SCHEME 724 HTTP_USE_PROXY 725 HTTP_WAITING 726 INET6 727 IPP_ACTIVATE_PRINTER 728 IPP_ATTRIBUTE 729 IPP_ATTRIBUTES 730 IPP_ATTRIBUTES_NOT_SETTABLE 731 IPP_BAD_REQUEST 732 IPP_CANCEL_CURRENT_JOB 733 IPP_CANCEL_JOB 734 IPP_CANCEL_SUBSCRIPTION 735 IPP_CHARSET 736 IPP_COMPRESSION_ERROR 737 IPP_COMPRESSION_NOT_SUPPORTED 738 IPP_CONFLICT 739 IPP_CREATE_JOB 740 IPP_CREATE_JOB_SUBSCRIPTION 741 IPP_CREATE_PRINTER_SUBSCRIPTION 742 IPP_DATA 743 IPP_DEACTIVATE_PRINTER 744 IPP_DEVICE_ERROR 745 IPP_DISABLE_PRINTER 746 IPP_DOCUMENT_ACCESS_ERROR 747 IPP_DOCUMENT_FORMAT 748 IPP_DOCUMENT_FORMAT_ERROR 749 IPP_ENABLE_PRINTER 750 IPP_ERROR 751 IPP_ERROR_JOB_CANCELED 752 IPP_ERROR_JOB_CANCELLED 753 IPP_FINISHINGS_BALE 754 IPP_FINISHINGS_BIND 755 IPP_FINISHINGS_BIND_BOTTOM 756 IPP_FINISHINGS_BIND_LEFT 757 IPP_FINISHINGS_BIND_RIGHT 758 IPP_FINISHINGS_BIND_TOP 759 IPP_FINISHINGS_BOOKLET_MAKER 760 IPP_FINISHINGS_COVER 761 IPP_FINISHINGS_EDGE_STITCH 762 IPP_FINISHINGS_EDGE_STITCH_BOTTOM 763 IPP_FINISHINGS_EDGE_STITCH_LEFT 764 IPP_FINISHINGS_EDGE_STITCH_RIGHT 765 IPP_FINISHINGS_EDGE_STITCH_TOP 766 IPP_FINISHINGS_FOLD 767 IPP_FINISHINGS_JOB_OFFSET 768 IPP_FINISHINGS_NONE 769 IPP_FINISHINGS_PUNCH 770 IPP_FINISHINGS_SADDLE_STITCH 771 IPP_FINISHINGS_STAPLE 772 IPP_FINISHINGS_STAPLE_BOTTOM_LEFT 773 IPP_FINISHINGS_STAPLE_BOTTOM_RIGHT 774 IPP_FINISHINGS_STAPLE_DUAL_BOTTOM 775 IPP_FINISHINGS_STAPLE_DUAL_LEFT 776 IPP_FINISHINGS_STAPLE_DUAL_RIGHT 777 IPP_FINISHINGS_STAPLE_DUAL_TOP 778 IPP_FINISHINGS_STAPLE_TOP_LEFT 779 IPP_FINISHINGS_STAPLE_TOP_RIGHT 780 IPP_FINISHINGS_TRIM 781 IPP_FORBIDDEN 782 IPP_GET_JOBS 783 IPP_GET_JOB_ATTRIBUTES 784 IPP_GET_NOTIFICATIONS 785 IPP_GET_PRINTER_ATTRIBUTES 786 IPP_GET_PRINTER_SUPPORTED_VALUES 787 IPP_GET_PRINT_SUPPORT_FILES 788 IPP_GET_SUBSCRIPTIONS 789 IPP_GET_SUBSCRIPTION_ATTRIBUTES 790 IPP_GONE 791 IPP_HEADER 792 IPP_HOLD_JOB 793 IPP_HOLD_NEW_JOBS 794 IPP_IDLE 795 IPP_IGNORED_ALL_NOTIFICATIONS 796 IPP_IGNORED_ALL_SUBSCRIPTIONS 797 IPP_INTERNAL_ERROR 798 IPP_JOB_ABORTED 799 IPP_JOB_CANCELED 800 IPP_JOB_CANCELLED 801 IPP_JOB_COMPLETED 802 IPP_JOB_HELD 803 IPP_JOB_PENDING 804 IPP_JOB_PROCESSING 805 IPP_JOB_STOPPED 806 IPP_LANDSCAPE 807 IPP_MAX_NAME 808 IPP_MAX_VALUES 809 IPP_MULTIPLE_JOBS_NOT_SUPPORTED 810 IPP_NOT_ACCEPTING 811 IPP_NOT_AUTHENTICATED 812 IPP_NOT_AUTHORIZED 813 IPP_NOT_FOUND 814 IPP_NOT_POSSIBLE 815 IPP_OK 816 IPP_OK_BUT_CANCEL_SUBSCRIPTION 817 IPP_OK_CONFLICT 818 IPP_OK_EVENTS_COMPLETE 819 IPP_OK_IGNORED_NOTIFICATIONS 820 IPP_OK_IGNORED_SUBSCRIPTIONS 821 IPP_OK_SUBST 822 IPP_OK_TOO_MANY_EVENTS 823 IPP_OPERATION_NOT_SUPPORTED 824 IPP_PAUSE_PRINTER 825 IPP_PAUSE_PRINTER_AFTER_CURRENT_JOB 826 IPP_PORT 827 IPP_PORTRAIT 828 IPP_PRINTER_BUSY 829 IPP_PRINTER_IDLE 830 IPP_PRINTER_IS_DEACTIVATED 831 IPP_PRINTER_PROCESSING 832 IPP_PRINTER_STOPPED 833 IPP_PRINT_JOB 834 IPP_PRINT_SUPPORT_FILE_NOT_FOUND 835 IPP_PRINT_URI 836 IPP_PRIVATE 837 IPP_PROMOTE_JOB 838 IPP_PURGE_JOBS 839 IPP_QUALITY_DRAFT 840 IPP_QUALITY_HIGH 841 IPP_QUALITY_NORMAL 842 IPP_REDIRECTION_OTHER_SITE 843 IPP_RELEASE_HELD_NEW_JOBS 844 IPP_RELEASE_JOB 845 IPP_RENEW_SUBSCRIPTION 846 IPP_REPROCESS_JOB 847 IPP_REQUEST_ENTITY 848 IPP_REQUEST_VALUE 849 IPP_RESTART_JOB 850 IPP_RESTART_PRINTER 851 IPP_RESUME_JOB 852 IPP_RESUME_PRINTER 853 IPP_RES_PER_CM 854 IPP_RES_PER_INCH 855 IPP_REVERSE_LANDSCAPE 856 IPP_REVERSE_PORTRAIT 857 IPP_SCHEDULE_JOB_AFTER 858 IPP_SEND_DOCUMENT 859 IPP_SEND_NOTIFICATIONS 860 IPP_SEND_URI 861 IPP_SERVICE_UNAVAILABLE 862 IPP_SET_JOB_ATTRIBUTES 863 IPP_SET_PRINTER_ATTRIBUTES 864 IPP_SHUTDOWN_PRINTER 865 IPP_STARTUP_PRINTER 866 IPP_SUSPEND_CURRENT_JOB 867 IPP_TAG_ADMINDEFINE 868 IPP_TAG_BEGIN_COLLECTION 869 IPP_TAG_BOOLEAN 870 IPP_TAG_CHARSET 871 IPP_TAG_COPY 872 IPP_TAG_DATE 873 IPP_TAG_DEFAULT 874 IPP_TAG_DELETEATTR 875 IPP_TAG_END 876 IPP_TAG_END_COLLECTION 877 IPP_TAG_ENUM 878 IPP_TAG_EVENT_NOTIFICATION 879 IPP_TAG_INTEGER 880 IPP_TAG_JOB 881 IPP_TAG_KEYWORD 882 IPP_TAG_LANGUAGE 883 IPP_TAG_MASK 884 IPP_TAG_MEMBERNAME 885 IPP_TAG_MIMETYPE 886 IPP_TAG_NAME 887 IPP_TAG_NAMELANG 888 IPP_TAG_NOTSETTABLE 889 IPP_TAG_NOVALUE 890 IPP_TAG_OPERATION 891 IPP_TAG_PRINTER 892 IPP_TAG_RANGE 893 IPP_TAG_RESOLUTION 894 IPP_TAG_STRING 895 IPP_TAG_SUBSCRIPTION 896 IPP_TAG_TEXT 897 IPP_TAG_TEXTLANG 898 IPP_TAG_UNKNOWN 899 IPP_TAG_UNSUPPORTED_GROUP 900 IPP_TAG_UNSUPPORTED_VALUE 901 IPP_TAG_URI 902 IPP_TAG_URISCHEME 903 IPP_TAG_ZERO 904 IPP_TEMPORARY_ERROR 905 IPP_TIMEOUT 906 IPP_TOO_MANY_SUBSCRIPTIONS 907 IPP_URI_SCHEME 908 IPP_VALIDATE_JOB 909 IPP_VERSION_NOT_SUPPORTED 910 PPD_ALLOC_ERROR 911 PPD_BAD_CUSTOM_PARAM 912 PPD_BAD_OPEN_GROUP 913 PPD_BAD_OPEN_UI 914 PPD_BAD_ORDER_DEPENDENCY 915 PPD_BAD_UI_CONSTRAINTS 916 PPD_CONFORM_RELAXED 917 PPD_CONFORM_STRICT 918 PPD_CS_CMY 919 PPD_CS_CMYK 920 PPD_CS_GRAY 921 PPD_CS_N 922 PPD_CS_RGB 923 PPD_CS_RGBK 924 PPD_CUSTOM_CURVE 925 PPD_CUSTOM_INT 926 PPD_CUSTOM_INVCURVE 927 PPD_CUSTOM_PASSCODE 928 PPD_CUSTOM_PASSWORD 929 PPD_CUSTOM_POINTS 930 PPD_CUSTOM_REAL 931 PPD_CUSTOM_STRING 932 PPD_FILE_OPEN_ERROR 933 PPD_ILLEGAL_CHARACTER 934 PPD_ILLEGAL_MAIN_KEYWORD 935 PPD_ILLEGAL_OPTION_KEYWORD 936 PPD_ILLEGAL_TRANSLATION 937 PPD_ILLEGAL_WHITESPACE 938 PPD_INTERNAL_ERROR 939 PPD_LINE_TOO_LONG 940 PPD_MAX_LINE 941 PPD_MAX_NAME 942 PPD_MAX_TEXT 943 PPD_MISSING_ASTERISK 944 PPD_MISSING_PPDADOBE4 945 PPD_MISSING_VALUE 946 PPD_NESTED_OPEN_GROUP 947 PPD_NESTED_OPEN_UI 948 PPD_NULL_FILE 949 PPD_OK 950 PPD_ORDER_ANY 951 PPD_ORDER_DOCUMENT 952 PPD_ORDER_EXIT 953 PPD_ORDER_JCL 954 PPD_ORDER_PAGE 955 PPD_ORDER_PROLOG 956 PPD_UI_BOOLEAN 957 PPD_UI_PICKMANY 958 PPD_UI_PICKONE 959 PPD_VERSION 960); 961 962our $VERSION = '0.64'; 963 964sub AUTOLOAD { 965 # This AUTOLOAD is used to 'autoload' constants from the constant() 966 # XS function. 967 968 my $constname; 969 our $AUTOLOAD; 970 ($constname = $AUTOLOAD) =~ s/.*:://; 971 croak "&Net::CUPS::constant not defined" if $constname eq 'constant'; 972 my ($error, $val) = constant($constname); 973 if ($error) { croak $error; } 974 { 975 no strict 'refs'; 976 # Fixed between 5.005_53 and 5.005_61 977#XXX if ($] >= 5.00561) { 978#XXX *$AUTOLOAD = sub () { $val }; 979#XXX } 980#XXX else { 981 *$AUTOLOAD = sub { $val }; 982#XXX } 983 } 984 goto &$AUTOLOAD; 985} 986 987require XSLoader; 988XSLoader::load('Net::CUPS', $VERSION); 989 990use Net::CUPS::PPD; 991use Net::CUPS::IPP; 992use Net::CUPS::Destination; 993 994##==================================================================## 995## Constructors ## 996##==================================================================## 997 998##----------------------------------------------## 999## new ## 1000##----------------------------------------------## 1001sub new 1002{ 1003 ## Pull in what type of an object we will be 1004 my $type = shift; 1005 ## Pull in our options if we have any ... 1006 my %options = @_; 1007 ## XXX One of the options might be a server host ... 1008 ## We will use a hash as our base class variable 1009 my $self = {}; 1010 my $class = ref( $type ) || $type; 1011 ## Bless the class for it is good [tm]. 1012 bless( $self, $class ); 1013 return( $self ); 1014} 1015 1016##----------------------------------------------## 1017## DESTROY ## 1018##----------------------------------------------## 1019sub DESTROY 1020{ 1021 return; 1022} 1023 1024##==================================================================## 1025## Methods ## 1026##==================================================================## 1027 1028##----------------------------------------------## 1029## getDestination ## 1030##----------------------------------------------## 1031sub getDestination 1032{ 1033 my( $self, $name ) = @_; 1034 1035 $name = "" if( !defined( $name ) ); 1036 1037 return( NETCUPS_getDestination( $name ) ); 1038} 1039 1040##----------------------------------------------## 1041## getDestinations ## 1042##----------------------------------------------## 1043sub getDestinations 1044{ 1045 my $self = shift; 1046 1047 return( NETCUPS_getDestinations() ); 1048} 1049 1050##----------------------------------------------## 1051## getPassword ## 1052##----------------------------------------------## 1053sub getPassword 1054{ 1055 my( $self, $prompt ) = @_; 1056 1057 return( NETCUPS_getPassword( $prompt ) ); 1058} 1059 1060##----------------------------------------------## 1061## getPPD ## 1062##----------------------------------------------## 1063sub getPPD 1064{ 1065 my( $self, $name ) = @_; 1066 1067 my $ppd = NETCUPS_getPPD( $name ); 1068 1069 bless( $ppd, "Net::CUPS::PPD" ); 1070 1071 return( $ppd ); 1072} 1073 1074##----------------------------------------------## 1075## getServer ## 1076##----------------------------------------------## 1077sub getServer 1078{ 1079 my $self = shift; 1080 1081 return( NETCUPS_getServer() ); 1082} 1083 1084##----------------------------------------------## 1085## getUsername ## 1086##----------------------------------------------## 1087sub getUsername 1088{ 1089 my $self = shift; 1090 1091 return( NETCUPS_getUsername() ); 1092} 1093 1094##----------------------------------------------## 1095## requestData ## 1096##----------------------------------------------## 1097sub requestData 1098{ 1099 my( $self, $request, $resource, $file ) = @_; 1100 1101 $file = "" if !defined( $file ); 1102 1103 return( NETCUPS_requestData( $request, $resource, $file ) ); 1104} 1105 1106##----------------------------------------------## 1107## setPasswordCB ## 1108##----------------------------------------------## 1109sub setPasswordCB 1110{ 1111 my( $self, $callback ) = @_; 1112 1113 NETCUPS_setPasswordCB( $callback ); 1114 return; 1115} 1116 1117##----------------------------------------------## 1118## setServer ## 1119##----------------------------------------------## 1120sub setServer 1121{ 1122 my( $self, $name ) = @_; 1123 1124 return( NETCUPS_setServer( $name ) ); 1125} 1126 1127##----------------------------------------------## 1128## setUsername ## 1129##----------------------------------------------## 1130sub setUsername 1131{ 1132 my( $self, $username ) = @_; 1133 1134 NETCUPS_setUsername( $username ); 1135 return; 1136} 1137 1138##----------------------------------------------## 1139## getPPDMakes ## 1140##----------------------------------------------## 1141sub getPPDMakes 1142{ 1143 my $self = shift; 1144 1145 return( NETCUPS_getPPDMakes() ); 1146} 1147 1148 1149##----------------------------------------------## 1150## getAllPPs ## 1151##----------------------------------------------## 1152sub getAllPPDs 1153{ 1154 my $self = shift; 1155 1156 return( NETCUPS_getAllPPDs() ); 1157} 1158 1159##----------------------------------------------## 1160## deleteDestination ## 1161##----------------------------------------------## 1162sub deleteDestination 1163{ 1164 my( $self, $destination ) = @_; 1165 NETCUPS_deleteDestination( $destination ); 1166 return; 1167} 1168 1169##----------------------------------------------## 1170## getPPDFileName ## 1171##----------------------------------------------## 1172sub getPPDFileName 1173{ 1174 my( $self, $ppdname) = @_; 1175 return( NETCUPS_getPPDFileName( $ppdname ) ); 1176} 1177 1178##----------------------------------------------## 1179## addDestination ## 1180##----------------------------------------------## 1181sub addDestination 1182{ 1183 my( $self, $name, $location, $printer_info, $ppd_name, $device_uri) = @_; 1184 1185 return( NETCUPS_addDestination( $name, 1186 $location, 1187 $printer_info, 1188 $ppd_name, 1189 $device_uri ) ); 1190} 1191 1192##==================================================================## 1193## End of Code ## 1194##==================================================================## 11951; 1196 1197##==================================================================## 1198## Plain Old Documentation (POD) ## 1199##==================================================================## 1200 1201__END__ 1202 1203=head1 NAME 1204 1205Net::CUPS - Common Unix Printing System Interface 1206 1207=head1 SYNOPSIS 1208 1209 use Net::CUPS; 1210 1211 my $cups = Net::CUPS->new(); 1212 1213 my $printer = $cups->getDestination( "lj4200dn" ); 1214 1215=head1 DESCRIPTION 1216 1217Net::CUPS is an object oriented interface to the Common Unix Printing System. 1218 1219=head1 METHODS 1220 1221=over 4 1222 1223=item B<getDestination> 1224 1225my $printer = $cups->getDestination( $printer_name ); 1226 1227This method takes the name of the printer to acquire. If the printer 1228does not exist it will return nothing. 1229 1230=item B<getDestinations> 1231 1232my @printers = $cups->getDestinations(); 1233 1234This method will return an array of destinations currently configured 1235on the cups server. 1236 1237=item B<getPassword> 1238 1239my $password = $cups->getPassword( $prompt ); 1240 1241Method to retrieve the password from the user via the password 1242callback. 1243 1244=item B<getPPD> 1245 1246my $ppd = $cups->getPPD( $name ); 1247 1248Returns a Net::CUPS::PPD object for the default printer or for the 1249specified printer or class. 1250 1251=item B<getPPDMakes> 1252 1253my $makes = $cups->getPPDMakes(); 1254 1255Returns an arrary of scalers holding the names of all the makers (e.g. HP or Lexmark) 1256of PPD files installed on the CUPS server 1257 1258=item B<getAllPPDs> 1259 1260my $ppds = $cups->getAllPPDs(); 1261 1262Returns an array of scalers with the maker and model of all the PPDs 1263installed on the CUPS server 1264 1265=item B<getPPDFileName> 1266 1267$cups->getPPDFileName($ppd_name_and_make); 1268 1269Returns the file name of the PPD specified by the name and make as found in the array 1270returned by getAllPPDs. The file name is used by addDestination and is relative 1271to where the CUPS server is instructed to look (e.g /usr/share/ppd). 1272 1273=item B<getServer> 1274 1275my $server_name = $cups->getServer(); 1276 1277A method to return either the hostname or the IP address of the 1278active print server. 1279 1280=item B<getUsername> 1281 1282my $username = $cups->getUsername(); 1283 1284This method will return the current username associated with the 1285CUPS transaction. 1286 1287=item B<requestData> 1288 1289my $result = $cups->requestData( $request, $resource, $filename ); 1290 1291Send an IPP request to the server. This function is based off the 1292C CUPS function cupsDoRequest and cupsDoRequestFile. The $filename 1293is optional. 1294 1295=item B<setPasswordCB> 1296 1297$cups->setPasswordCB( $function ) 1298 1299Method to set the callback function to be used by getPassword. 1300 1301=item B<setServer> 1302 1303$cups->setServer( $server_ip ); 1304 1305This method will change the current cups server to another hosts. 1306 1307=item B<setUsername> 1308 1309$cups->setUsername( $username ); 1310 1311A method to change the username associated with CUPS interaction. 1312 1313=item B<deleteDestination> 1314 1315$cups->deleteDestination( $destination_name ); 1316 1317A method to delete an existing destination 1318 1319=item B<addDestination> 1320 1321$cups->addDestination( $name, $location, $printer_info, $ppd_name, $device_uri) 1322A method to create a new destination. The $ppd_name variable should be 1323the one returned for that printer by the getPPDFileName method. It will 1324be relative to where the CUPS server is configured to look for PPD 1325files (e.g. /usr/share/ppd). 1326 1327=back 1328 1329=head1 SEE ALSO 1330 1331L<Net::CUPS::Destination>, L<Net::CUPS::PPD>, L<Net::CUPS::IPP> 1332 1333=head1 SUPPORT 1334 1335Net::CUPS is currently maintained by Stefan Seifert <NINE@cpan.org>. 1336The Github repository for this project is at 1337L<https://github.com/niner/perl-Net-CUPS>. Pull requests are welcome. 1338 1339=head1 AUTHOR 1340 1341Dracken Technology, Inc. (http://www.dracken.com/) 1342 1343=head1 ACKNOWLEDGEMENTS 1344 1345Aike Reyer <aike@users.sourceforge.net> supplied the password handling code. 1346 1347Mark Gannon <mark@truenorth.nu> supplied the code for PPD acquisition, 1348destination creation and destination deletion. 1349 1350=head1 COPYRIGHT AND LICENSE 1351 1352Copyright (c) 2003-2005 David Hageman 1353 1354Copyright (c) 2006-2009 Dracken Technology, Inc. 1355 1356All rights reserved. 1357 1358This library is free software; you can redistribute it and/or modify 1359it under the same terms as Perl itself, either Perl version 5.8.8 or, 1360at your option, any later version of Perl 5 you may have available. 1361 1362CUPS, the Common UNIX Printing System, the CUPS logo, and ESP Print Pro are the trademark property of Easy Software Products. 1363 1364=cut 1365