// Copyright (c) 2011 DMTF.  All rights reserved.
   [Version ( "2.29.0" ), 
    UMLPackagePath ( "CIM::Device::Printing" ), 
    Description ( 
       "Description of a print request that is either waiting on a "
       "Queue for a Printer to become available or in the process of "
       "being output on a Printer, or that has previously been printed "
       "on a Printer. PrintJobs are weak to their current Queue, or to "
       "the last Queue that held them. The ABNF for CIM references to "
       "PWG Standards and MIBs is in the directory "
       "\'ftp://ftp.pwg.org/pub/pwg/general/process\' in the file "
       "\'pwg-cim-references-format-20060309.txt\'. An example for a "
       "MappingStrings reference to a PWG Standard is "
       "\'PWG5101-1.PWG|Section 4 Media Color Names\'. An example for "
       "a MappingStrings reference to a PWG MIB is "
       "\'MIB.PWG|PWG-IMAGING-COUNTER-MIB.icMonitorCompletedJobs\'." )]
class CIM_PrintJob : CIM_Job {

      [Key, Description ( 
          "The CreationClassName of the scoping System." ), 
       MaxLen ( 256 ), 
       Propagated ( "CIM_PrintQueue.SystemCreationClassName" )]
   string SystemCreationClassName;

      [Key, Description ( "The Name of the scoping System." ), 
       MaxLen ( 256 ), 
       MappingStrings { "MIB.IETF|SNMPv2-MIB.sysName" }, 
       Propagated ( "CIM_PrintQueue.SystemName" )]
   string SystemName;

      [Key, Description ( 
          "The CreationClassName of the scoping Queue." ), 
       MaxLen ( 256 ), 
       Propagated ( "CIM_PrintQueue.CreationClassName" )]
   string QueueCreationClassName;

      [Key, Description ( "The Name of the scoping Queue." ), 
       MaxLen ( 256 ), 
       MappingStrings { 
          "MIB.IETF|Job-Monitoring-MIB.jmGeneralJobSetName", 
          "MIB.IETF|Job-Monitoring-MIB.queueNameRequested", 
          "RFC2911.IETF|Job.output-device-assigned" }, 
       Propagated ( "CIM_PrintQueue.Name" )]
   string QueueName;

      [Override ( "JobStatus" ), 
       Description ( 
          "The inherited JobStatus is used to provide additional "
          "information about the status of a PrintJob beyond that "
          "enumerated by PrintJobStatus." ), 
       MappingStrings { "MIB.IETF|Job-Monitoring-MIB.jmJobState", 
          "MIB.IETF|Job-Monitoring-MIB.jmJobStateReasons1", 
          "RFC2911.IETF|Job.job-state", 
          "RFC2911.IETF|Job.job-state-reasons", 
          "RFC2911.IETF|Job.job-state-message" }, 
       ModelCorrespondence { "CIM_PrintJob.PrintJobStatus" }]
   string JobStatus;

      [Key, Description ( 
          "Uniquely identifies this Job within its scoping Queue, "
          "but NOT across different Queues or PrintServices." ), 
       MappingStrings { "MIB.IETF|Job-Monitoring-MIB.jmJobIndex", 
          "MIB.IETF|Job-Monitoring-MIB.jmJobSubmissionID", 
          "RFC2911.IETF|Job.job-id" }]
   string JobID;

      [Deprecated { "No value" }, 
       Description ( 
          "Note: The use of this free-form string property is "
          "deprecated in lieu of the more semantically rich "
          "CIM_JobSettingData class inherited from CIM_Job." )]
   string SchedulingInformation;

      [Description ( 
          "Specifies the size of the PrintJob (as a byte stream) in "
          "units of Kbytes." ), 
       Units ( "KiloBytes" ), 
       MappingStrings { 
          "MIB.IETF|Job-Monitoring-MIB.jmJobKOctetsProcessed", 
          "RFC2911.IETF|Job.job-k-octets" }, 
       ModelCorrespondence { "CIM_Printer.MaxSizeSupported", 
          "CIM_PrintQueue.MaxJobSize" }, 
       PUnit ( "byte * 10^3" )]
   uint32 JobSize;

      [Deprecated { "CIM_PrintJob.MimeTypes" }, 
       Description ( 
          "Note: The use of this property has been deprecated, due "
          "to ambiguity. Instead use MimeTypes. \n"
          "Enumerated print languages are only available in the "
          "IETF Printer MIB v1/v2 (RFC 1759/3805) and are not "
          "available in open standard print protocols (i.e., no "
          "known mapping). \n"
          "Deprecated description: \n"
          "Specifies the print language that is used by this Job. \n"
          "Note: For legacy compatiblity reasons, this property is "
          "NOT exactly aligned (in order of values) with the "
          "authoritative PrtInterpreterLangFamilyTC in the IANA "
          "Printer MIB, unlike the newer property "
          "PrintInterpreter.LangType (which is exactly aligned with "
          "the IANA Printer MIB)." ), 
       ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", 
          "11", "12", "13", "14", "15", "16", "17", "18", "19", 
          "20", "21", "22", "23", "24", "25", "26", "27", "28", 
          "29", "30", "31", "32", "33", "34", "35", "36", "37", 
          "38", "39", "40", "41", "42", "43", "44", "45", "46", 
          "47", "48", "50", "51", "52", "53", "54", "55", "56", 
          "57", "58", "59", "60", "61", "62", "63", "64", "65", 
          "66", "67", "68", "69", ".." }, 
       Values { "Other", "Unknown", "PCL", "HPGL", "PJL", "PS", 
          "PSPrinter", "IPDS", "PPDS", "EscapeP", "Epson", "DDIF", 
          "Interpress", "ISO6429", "Line Data", "MODCA", "REGIS", 
          "SCS", "SPDL", "TEK4014", "PDS", "IGP", "CodeV", "DSCDSE", 
          "WPS", "LN03", "CCITT", "QUIC", "CPAP", "DecPPL", 
          "Simple Text", "NPAP", "DOC", "imPress", "Pinwriter", 
          "NPDL", "NEC201PL", "Automatic", "Pages", "LIPS", "TIFF", 
          "Diagnostic", "CaPSL", "EXCL", "LCDS", "XES", "MIME", 
          "TIPSI", "Prescribe", "LinePrinter", "IDP", "XJCL", "PDF", 
          "RPDL", "IntermecIPL", "UBIFingerprint", 
          "UBIDirectProtocol", "Fujitsu", "PCLXL", "ART", "CGM", 
          "JPEG", "CALS1", "CALS2", "NIRS", "C4", "XPS", "OpenXPS", 
          "DMTF Reserved" }, 
       MappingStrings { 
          "MIB.IETF|Printer-MIB.prtInterpreterLangFamily", 
          "MIB.IETF|IANA-PRINTER-MIB.PrtInterpreterLangFamilyTC", 
          "MIB.IETF|Job-Monitoring-MIB.documentFormat", 
          "PWG5100-7.PWG|Job.document-format-supplied" }, 
       ModelCorrespondence { "CIM_Printer.LanguagesSupported", 
          "CIM_PrintService.LanguagesSupported", 
          "CIM_PrintJob.MimeTypes" }]
   uint16 Language;

      [Description ( 
          "Specifies the MIME types that are used by the PrintJob." ), 
       ModelCorrespondence { "CIM_PrintJob.Language", 
          "CIM_Printer.MimeTypesSupported", 
          "CIM_PrintService.MimeTypesSupported" }]
   string MimeTypes[];

      [Description ( 
          "A string that specifies the type of paper that is "
          "required by this PrintJob. The values of the property "
          "SHOULD conform to the requirements of the PWG Media "
          "Standardized Names specification [PWG5101.1], which "
          "defines the normative values for this property. See "
          "older Appendix B \'Media Size Names\' and Appendix C "
          "\'Media Names\' of IETF Printer MIB v2 [RFC3805] which "
          "list the values of standardized media names defined in "
          "ISO DPA [ISO10175]." ), 
       MappingStrings { "PWG5101-1.PWG|Media Standardized Names", 
          "MIB.IETF|Job-Monitoring-MIB.mediumRequested", 
          "RFC2911.IETF|Job.media" }, 
       ModelCorrespondence { "CIM_Printer.PaperTypesAvailable", 
          "CIM_PrintService.PaperTypesAvailable" }]
   string RequiredPaperType;

      [Description ( 
          "Note: The use of this property will been deprecated due "
          "to ambiguity in a future version. Instead use the "
          "experimental property Finishings. \n"
          "Enumerated finishings are not available in open standard "
          "print protocols (i.e., no known mapping). \n"
          "Deprecated description: \n"
          "An array of integers that indicates the type of "
          "finishing that is required by this Job. It is equivalent "
          "to the Capabilities property that is provided by the "
          "Printer." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", 
          "10", "11", "12", "13", "14", "15", "16", "17", "18", 
          "19", "20", "21" }, 
       Values { "Unknown", "Other", "Color Printing", 
          "Duplex Printing", "Copies", "Collation", "Stapling", 
          "Transparency Printing", "Punch", "Cover", "Bind", 
          "Black and White Printing", "One Sided", 
          "Two Sided Long Edge", "Two Sided Short Edge", "Portrait", 
          "Landscape", "Reverse Portrait", "Reverse Landscape", 
          "Quality High", "Quality Normal", "Quality Low" }, 
       ArrayType ( "Indexed" ), 
       ModelCorrespondence { "CIM_Printer.Capabilities", 
          "CIM_PrintService.Capabilities" }]
   uint16 Finishing[];

      [Description ( 
          "The number of physical copies of the output that will be "
          "produced from this Job." ), 
       MappingStrings { 
          "MIB.IETF|Job-Monitoring-MIB.jobCopiesRequested", 
          "RFC2911.IETF|Job.copies" }, 
       ModelCorrespondence { "CIM_Printer.MaxCopies" }]
   uint32 Copies;

      [Description ( 
          "The resolution of the in Pixels per Inch for the Job in "
          "the cross-feed direction, i.e., short-edge in portrait "
          "feed mode." ), 
       Units ( "Pixels per Inch" ), 
       MappingStrings { 
          "MIB.IETF|Job-Monitoring-MIB.printerResolutionRequested", 
          "RFC2911.IETF|Job.printer-resolution" }, 
       ModelCorrespondence { "CIM_Printer.HorizontalResolution" }, 
       PUnit ( "pixel / inch" )]
   uint32 HorizontalResolution;

      [Description ( 
          "The resolution in Pixels per Inch for the Job in the "
          "feed direction, i.e., long-edge in portrait feed mode." ), 
       Units ( "Pixels per Inch" ), 
       MappingStrings { 
          "MIB.IETF|Job-Monitoring-MIB.printerResolutionRequested", 
          "RFC2911.IETF|Job.printer-resolution" }, 
       ModelCorrespondence { "CIM_Printer.VerticalResolution" }, 
       PUnit ( "pixel / inch" )]
   uint32 VerticalResolution;

      [Description ( 
          "Specifies the character set and encoding method that "
          "should be used by the Printer for the management of this "
          "Job. The strings should conform to the semantics and "
          "syntax that are specified by section 4.1.2 \'Charset "
          "parameter\' in RFC 2046 (MIME Part 2) and contained in "
          "the IANA character-set registry. Examples include "
          "\'utf-8\', \'us-ascii\', and \'iso-8859-1\'." ), 
       MappingStrings { 
          "MIB.IETF|Job-Monitoring-MIB.jobCodedCharSet", 
          "MIB.IETF|IANA-CHARSET-MIB.IANACharset", 
          "RFC2911.IETF|Job.attributes-charset" }, 
       ModelCorrespondence { "CIM_Printer.CharSetsSupported" }]
   string CharSet;

      [Description ( 
          "Identifies the language that should be used by the "
          "Printer for the management of this Job. The specified "
          "value should conform to RFC 5646. For example, \'en\' is "
          "used for English." ), 
       MappingStrings { 
          "MIB.IETF|Job-Monitoring-MIB.jobNaturalLanguageTag", 
          "RFC2911.IETF|Job.attributes-natural-language" }, 
       ModelCorrespondence { "CIM_Printer.NaturalLanguagesSupported" }]
   string NaturalLanguage;

      [Description ( 
          "The number of print-stream pages that should be rendered "
          "onto a single media sheet when the Printer outputs this "
          "PrintJob." ), 
       MappingStrings { "RFC2911.IETF|Job.number-up" }, 
       ModelCorrespondence { "CIM_Printer.MaxNumberUp" }]
   uint32 NumberUp;

      [Description ( 
          "Describes the current state of this Job with respect to "
          "the PrintQueue and the Printer. Additional information "
          "can be specified in JobStatus. \n"
          "1 (Other) means this Job is in some non-standard state. \n"
          "2 (Unknown) means this Job is in an unknown state. \n"
          "3 (Pending) maps to IPP job-state \'pending\'. \n"
          "4 (Blocked) maps to IPP job-state \'pending-held\'. \n"
          "5 (Completed) maps to IPP job-state \'completed\'. \n"
          "6 (Completed With Error) maps to IPP job-state "
          "\'completed\' in combination with IPP job-state-reasons "
          "\'completed-with-errors\'. \n"
          "7 (Printing) maps to IPP job-state \'processing\'. \n"
          "8 (Processing Stopped) maps to IPP job-state "
          "\'processing-stopped\'. \n"
          "9 (Canceled) maps to IPP job-state \'canceled\'. \n"
          "10 (Aborted) maps to IPP job-state \'aborted\'." ), 
       ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" }, 
       Values { "Other", "Unknown", "Pending", "Blocked", 
          "Complete", "Completed With Error", "Printing", 
          "Processing Stopped", "Canceled", "Aborted" }, 
       MappingStrings { "MIB.IETF|Job-Monitoring-MIB.jmJobState", 
          "RFC2911.IETF|Job.job-state" }, 
       ModelCorrespondence { "CIM_PrintJob.TimeCompleted", 
          "CIM_PrintJob.JobStatus" }]
   uint16 PrintJobStatus;

      [Description ( 
          "The time when this Job was completed. This value is "
          "valid only if the PrintJobStatus has been assigned to "
          "\'Complete\' or \'Completed With Error\'." ), 
       MappingStrings { 
          "MIB.IETF|Job-Monitoring-MIB.jobCompletionTime", 
          "RFC2911.IETF|Job.date-time-at-completed" }, 
       ModelCorrespondence { "CIM_PrintJob.PrintJobStatus" }]
   datetime TimeCompleted;

      [Description ( 
          "Describes the job sheets that should be used when this "
          "Job is output on the Printer. \n"
          "Complete standard values are in the IANA IPP Registry. \n"
          "Additional vendor or site values may also be used. \n"
          "Standard values defined in IPP/1.1 (RFC 2911) include: \n"
          "Value \'none\' indicates no job start/end sheets. \n"
          "Value \'standard\' indicates one or more site-specific "
          "standard job sheets." ), 
       MappingStrings { "RFC2911.IETF|Job.job-sheets" }, 
       ModelCorrespondence { "CIM_Printer.AvailableJobSheets" }]
   string RequiredJobSheets[];

      [Description ( 
          "Provides additional information, beyond Job Owner that "
          "is inherited from CIM_Job, to identify the origins of "
          "the PrintJob. This property could include information "
          "such as the System, Application, or Process that created "
          "the Job." ), 
       MappingStrings { 
          "MIB.IETF|Job-Monitoring-MIB.jobOriginatingHost", 
          "MIB.IETF|Job-Monitoring-MIB.submittingServerName", 
          "MIB.IETF|Job-Monitoring-MIB.submittingApplicationName", 
          "RFC2911.IETF|Job.job-originating-user-name" }]
   string JobOrigination;

      [Override ( "ElapsedTime" ), 
       Description ( 
          "The processing elapsed time of this instance of "
          "PrintJob, after the Job has completed. \n"
          "Note: This property is NOT meaningful before PrintJob "
          "completion." ), 
       MappingStrings { 
          "RFC2911.IETF|Section 4.3.14.3 time-at-completed", 
          "RFC2911.IETF|Section 4.3.14.7 date-time-at-completed" }, 
       ModelCorrespondence { "CIM_PrintJob.TimeCompleted" }]
   datetime ElapsedTime;

      [Required, Override ( "ElementName" ), 
       Description ( 
          "The user-friendly name for this instance of PrintJob. In "
          "addition, the user-friendly name can be used as an index "
          "property for a search or query. (Note: The name does not "
          "have to be unique within a namespace.) This name shall "
          "be supplied by the client or generated by the "
          "PrintService (if missing in job creation operation)." ), 
       MappingStrings { "RFC2911.IETF|Section 4.3.5 job-name" }]
   string ElementName;

      [Override ( "StartTime" ), 
       Description ( 
          "The processing start time of this instance of PrintJob." ), 
       MappingStrings { 
          "RFC2911.IETF|Section 4.3.14.2 time-at-processing", 
          "RFC2911.IETF|Section 4.3.14.6 date-time-at-processing" }]
   datetime StartTime;

      [Override ( "TimeSubmitted" ), 
       Description ( 
          "The creation time of this instance of PrintJob." ), 
       MappingStrings { 
          "RFC2911.IETF|Section 4.3.14.1 time-at-creation", 
          "RFC2911.IETF|Section 4.3.14.5 date-time-at-creation" }]
   datetime TimeSubmitted;


};
