// Copyright (c) 2009 DMTF.  All rights reserved.
   [Version ( "2.22.0" ), 
    UMLPackagePath ( "CIM::System::Processing" ), 
    Description ( 
       "Status and configuration of a JobQueue. Jobs are held on a "
       "queue, and can move from queue to queue until being processed." )]
class CIM_JobQueue : CIM_JobDestination {

      [Description ( 
          "Provides queue-specific status information, beyond the "
          "ManagedSystemElement.OperationalStatus property. This "
          "property further qualifies the status of the queue, or "
          "indicates a secondary condition (e.g. queue full)." ), 
       ValueMap { "0", "1", "2", "3" }, 
       Values { "Unknown", "Other", "No Additional Status", 
          "Queue Full" }, 
       ModelCorrespondence { "CIM_JobQueue.QueueStatusInfo" }]
   uint16 QueueStatus;

      [Description ( 
          "Provides a textual explanation for the status of the "
          "queue. Information about both QueueStatus and the "
          "OperationalStatus property (inherited from "
          "ManagedSystemElement) may be described in "
          "QueueStatusInfo. Note, however, that OperationalStatus\' "
          "Descriptions (if available) MUST be provided in the "
          "StatusDescriptions array, inherited from "
          "ManagedSystemElement. This is where management clients "
          "will expect to locate this information." ), 
       ModelCorrespondence { "CIM_JobQueue.QueueStatus" }]
   string QueueStatusInfo;

      [Write, Description ( 
          "Specifies the priority that will be assigned to a new "
          "Job being submitted to this queue, if the Job does not "
          "explicitly specify a priority. Note that lower numbers "
          "indicate higher priorities. The default value of "
          "0xFFFFFFFF is the lowest priority." )]
   uint32 DefaultJobPriority = 65535;

      [Write, Description ( 
          "Specifies the maximum time (using a datetime interval "
          "format) that a Job can remain on this Queue before "
          "completing. If the MaxTimeOnQueue property is exceeded, "
          "then the Job SHOULD be removed from the Queue. A value "
          "of 0 (the default) indicates that there is no time "
          "limit." )]
   datetime MaxTimeOnQueue = "00000000000000.000000:000";

      [Write, Description ( 
          "Specifies the maximum number of Jobs that can reside on "
          "this Queue. A value of 0 (the default) indicates that "
          "there is no maximum queue depth." )]
   uint32 MaxJobsOnQueue = 0;

      [Write, Description ( 
          "Specifies the maximum number of milliseconds of CPU time "
          "that a Job queued to this destination can consume to "
          "complete its execution." ), 
       Units ( "MilliSeconds" ), 
       PUnit ( "second * 10^-3" )]
   uint32 MaxJobCPUTime;


};
