// Copyright (c) 2012 DMTF.  All rights reserved.
   [Version ( "2.31.1" ), 
    UMLPackagePath ( "CIM::Device::Printing" ), 
    Description ( 
       "This class represents a PrintSupply for a PrintMarker or "
       "PrintFinisher component of a Printer (print device). It "
       "contains a property that specifies if this instance represents "
       "a PrintSupply represents a container (for a supply that is "
       "consumed) or a receptacle (for waste that is produced). It "
       "also contains properties that describe the PrintSupply type, "
       "capacity, and remaining capacity. For PrintMarker colorants, "
       "it also contains properties that describe colorant role (spot "
       "or process), name, and tonality. Note: A PrintSupply shall be "
       "associated with exactly one Printer via an instance of the "
       "ConcreteComponent class. A PrintSupply shall be associated "
       "with exactly one PrintMarker or PrintFinisher via an instance "
       "of AssociatedPrintSupply class. See: Model in section 2 of "
       "Printer MIB (RFC 3805) and section 3 of Finisher MIB (RFC "
       "3806)." ), 
    MappingStrings { "MIB.IETF|Printer-MIB.prtMarkerSuppliesEntry", 
       "MIB.IETF|Printer-MIB.prtMarkerColorantEntry", 
       "MIB.IETF|Finisher-MIB.finSupplyEntry" }]
class CIM_PrintSupply : CIM_PrinterElement {

      [Description ( 
          "A free-form text description of this PrintSupply in the "
          "localization specified by "
          "CIM_Printer.CurrentNaturalLanguage." ), 
       MaxLen ( 255 ), 
       MappingStrings { 
          "MIB.IETF|Printer-MIB.prtMarkerSuppliesDescription", 
          "MIB.IETF|Finisher-MIB.finSupplyDescription", 
          "MIB.IETF|Printer-MIB.PrtLocalizedDescriptionStringTC" }, 
       ModelCorrespondence { "CIM_Printer.CurrentNaturalLanguage" }]
   string LocalizedDescription;

      [Description ( 
          "Indicates whether this PrintSupply instance represents a "
          "PrintSupply that is consumed or a receptacle that is "
          "filled." ), 
       ValueMap { "1", "3", "4", ".." }, 
       Values { "Other", "SupplyThatIsConsumed", 
          "ReceptacleThatIsFilled", "DMTF Reserved" }, 
       MappingStrings { 
          "MIB.IETF|Printer-MIB.prtMarkerSuppliesClass", 
          "MIB.IETF|Finisher-MIB.finSupplyClass", 
          "MIB.IETF|Printer-MIB.PrtMarkerSuppliesClassTC" }, 
       ModelCorrespondence { "CIM_PrintSupply.OtherClassification" }]
   uint32 Classification;

      [Description ( 
          "A free-form string that describes the PrintSupply "
          "classification when the value of the Classification "
          "property is equal to 1 (Other)." ), 
       MaxLen ( 255 ), 
       ModelCorrespondence { "CIM_PrintSupply.Classification" }]
   string OtherClassification;

      [Description ( "The type of this PrintSupply." ), 
       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", ".." }, 
       Values { "Other", "Unknown", "Toner", "WasteToner", "Ink", 
          "InkCartridge", "InkRibbon", "WasteInk", "Opc", 
          "Developer", "FuserOil", "SolidWax", "RibbonWax", 
          "WasteWax", "Fuser", "CoronaWire", "FuserOilWick", 
          "CleanerUnit", "FuserCleaningPad", "TransferUnit", 
          "TonerCartridge", "FuserOiler", "Water", "WasteWater", 
          "GlueWaterAdditive", "WastePaper", "BindingSupply", 
          "BandingSupply", "StitchingWire", "ShrinkWrap", 
          "PaperWrap", "Staples", "Inserts", "Covers", 
          "DMTF Reserved" }, 
       MappingStrings { 
          "MIB.IETF|Printer-MIB.prtMarkerSuppliesType", 
          "MIB.IETF|Finisher-MIB.finSupplyType", 
          "MIB.IETF|IANA-PRINTER-MIB.PrtMarkerSuppliesTypeTC" }, 
       ModelCorrespondence { "CIM_PrintSupply.OtherTypeDescription" }]
   uint32 Type;

      [Description ( 
          "A free-form string that describes the PrintSupply type "
          "when the value of the Type property is equal to 1 "
          "(Other)." ), 
       MaxLen ( 255 ), 
       ModelCorrespondence { "CIM_PrintSupply.Type" }]
   string OtherTypeDescription;

      [Description ( 
          "Unit of measure for this PrintSupply container (for a "
          "supply that is consumed) or receptacle (for waste that "
          "is produced)." ), 
       ValueMap { "1", "2", "3", "4", "7", "8", "11", "12", "13", 
          "14", "15", "16", "17", "18", "19", ".." }, 
       Values { "Other", "Unknown", "TenThousandthsOfInches", 
          "Micrometers", "Impressions", "Sheets", "Hours", 
          "ThousandthsOfOunces", "TenthsOfGrams", 
          "HundrethsOfFluidOunces", "TenthsOfMilliliters", "Feet", 
          "Meters", "Items", "Percent", "DMTF Reserved" }, 
       MappingStrings { 
          "MIB.IETF|Printer-MIB.prtMarkerSuppliesSupplyUnit", 
          "MIB.IETF|Finisher-MIB.finSupplyUnit", 
          "MIB.IETF|Printer-MIB.PrtMarkerSuppliesSupplyUnitTC" }, 
       ModelCorrespondence { "CIM_PrintSupply.OtherSupplyUnit" }]
   uint32 SupplyUnit;

      [Description ( 
          "A free-form string that describes the PrintSupply unit "
          "when the value of the SupplyUnit property is equal to 1 "
          "(Other)." ), 
       MaxLen ( 255 ), 
       ModelCorrespondence { "CIM_PrintSupply.SupplyUnit" }]
   string OtherSupplyUnit;

      [Description ( 
          "The basis for the limit property MaxCapacity, that "
          "specifies whether a meaningful value is available. 1 "
          "(Other) means the Printer places no restrictions on "
          "capacity and MaxCapacity shall be null. 2 (Unknown) "
          "means the Printer cannot sense a meaningful value and "
          "MaxCapacity shall be null. 3 (Actual) means the Printer "
          "can sense a meaningful value and MaxCapacity shall be "
          "present." ), 
       ValueMap { "1", "2", "3", ".." }, 
       Values { "Other", "Unknown", "Actual", "DMTF Reserved" }, 
       MappingStrings { 
          "MIB.IETF|Printer-MIB.prtMarkerSuppliesMaxCapacity", 
          "MIB.IETF|Finisher-MIB.finSuppyMaxCapacity" }, 
       ModelCorrespondence { "CIM_PrintSupply.MaxCapacity" }]
   uint16 MaxCapacityBasis;

      [Description ( 
          "The maximum capacity of this PrintSupply container (for "
          "a supply that is consumed) or receptacle (for waste that "
          "is produced) in units specified by "
          "CIM_PrintSupply.SupplyUnit. If this Printer can reliably "
          "sense this value, the value is sensed by the Printer and "
          "cannot be changed by the system administrator; "
          "otherwise, the value may be changed out-of-band by the "
          "system administrator." ), 
       MinValue ( 0 ), 
       MaxValue ( 2147483647 ), 
       MappingStrings { 
          "MIB.IETF|Printer-MIB.prtMarkerSuppliesMaxCapacity", 
          "MIB.IETF|Finisher-MIB.finSuppyMaxCapacity", 
          "MIB.IETF|Printer-MIB.prtMarkerSuppliesSupplyUnit", 
          "MIB.IETF|Finisher-MIB.finSupplyUnit", 
          "MIB.IETF|Printer-MIB.PrtMarkerSuppliesSupplyUnitTC" }, 
       ModelCorrespondence { "CIM_PrintSupply.MaxCapacityBasis" }]
   uint32 MaxCapacity;

      [Description ( 
          "The basis for the gauge property RemainingCapacity, that "
          "specifies whether a meaningful value is available. 1 "
          "(Other) means the Printer places no restrictions on "
          "capacity and RemainingCapacity shall be null. 2 "
          "(Unknown) means the Printer cannot sense a meaningful "
          "value and RemainingCapacity shall be null. 3 (Actual) "
          "means the Printer can sense a meaningful value and "
          "RemainingCapacity shall be present. 4 (AtLeastOne) means "
          "that the Printer can only sense that at least one "
          "capacity unit remains and RemainingCapacity shall be "
          "present and shall contain the value zero or one." ), 
       ValueMap { "1", "2", "3", "4", ".." }, 
       Values { "Other", "Unknown", "Actual", "AtLeastOne", 
          "DMTF Reserved" }, 
       MappingStrings { 
          "MIB.IETF|Printer-MIB.prtMarkerSuppliesLevel", 
          "MIB.IETF|Finisher-MIB.finSuppyCurrentLevel" }, 
       ModelCorrespondence { "CIM_PrintSupply.RemainingCapacity" }]
   uint16 RemainingCapacityBasis;

      [Description ( 
          "The current remaining level of the supply if this "
          "PrintSupply is a container (for a supply that is "
          "consumed) or the remaining capacity if this PrintSupply "
          "is a receptacle (for waste that is produced), in units "
          "specified by CIM_PrintSupply.SupplyUnit. If this Printer "
          "can reliably sense this value, the value is sensed by "
          "the Printer and cannot be changed by the system "
          "administrator; otherwise, the value may be changed "
          "out-of-band by the system administrator." ), 
       MinValue ( 0 ), 
       MaxValue ( 2147483647 ), 
       MappingStrings { 
          "MIB.IETF|Printer-MIB.prtMarkerSuppliesLevel", 
          "MIB.IETF|Finisher-MIB.finSuppyCurrentLevel", 
          "MIB.IETF|Printer-MIB.prtMarkerSuppliesSupplyUnit", 
          "MIB.IETF|Finisher-MIB.finSupplyUnit", 
          "MIB.IETF|Printer-MIB.PrtMarkerSuppliesSupplyUnitTC" }, 
       ModelCorrespondence { "CIM_PrintSupply.RemainingCapacityBasis" }]
   uint32 RemainingCapacity;

      [Description ( 
          "If this PrintSupply does not represent a PrintMarker "
          "colorant, then this property shall be null. If this "
          "PrintSupply does represent a PrintMarker colorant, then "
          "this property shall be present and shall denote the role "
          "played by this PrintMarker colorant." ), 
       ValueMap { "1", "3", "4", ".." }, 
       Values { "Other", "Process", "Spot", "DMTF Reserved" }, 
       MappingStrings { 
          "MIB.IETF|Printer-MIB.prtMarkerColorantRole", 
          "MIB.IETF|Printer-MIB.PrtMarkerColorantRoleTC" }, 
       ModelCorrespondence { "CIM_PrintSupply.OtherColorantRole", 
          "CIM_PrintMarker.ProcessColorants", 
          "CIM_PrintMarker.SpotColorants" }]
   uint32 ColorantRole;

      [Description ( 
          "If this PrintSupply does not represent a PrintMarker "
          "colorant, then this property shall be null. If this "
          "PrintSupply does represent a PrintMarker colorant and "
          "the value of the ColorantRole property is equal to 1 "
          "(Other), then this property shall be present and shall "
          "contain a free-form string that describes the role of "
          "the colorant." ), 
       MaxLen ( 255 ), 
       ModelCorrespondence { "CIM_PrintSupply.ColorantRole" }]
   string OtherColorantRole;

      [Description ( 
          "If this PrintSupply does not represent a PrintMarker "
          "colorant, then this property shall be null. If this "
          "PrintSupply does represent a PrintMarker colorant, then "
          "this property shall be present and shall denote the "
          "colorant name using the standardized names from ISO "
          "10175 (DPA) and ISO 10180 (SPDL). Vendors and "
          "administrators may specify other colorant names in the "
          "OtherColorantName property." ), 
       ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", 
          ".." }, 
       Values { "Other", "Unknown", "White", "Red", "Green", "Blue", 
          "Cyan", "Magenta", "Yellow", "Black", "DMTF Reserved" }, 
       MappingStrings { "MIB.IETF|Printer-MIB.prtMarkerColorantValue" }, 
       ModelCorrespondence { "CIM_PrintSupply.OtherColorantName" }]
   uint16 ColorantName;

      [Description ( 
          "If this PrintSupply does not represent a PrintMarker "
          "colorant, then this property shall be null. If this "
          "PrintSupply does represent a PrintMarker colorant and "
          "the value of the ColorantName property is equal to 1 "
          "(Other), then this property shall be present and shall "
          "contain a vendor or administrator defined value. The "
          "naming conventions in ISO 9070 are recommended in order "
          "to avoid potential name clashes." ), 
       MaxLen ( 255 ), 
       ModelCorrespondence { "CIM_PrintSupply.ColorantName" }]
   string OtherColorantName;

      [Description ( 
          "If this PrintSupply does not represent a PrintMarker "
          "colorant, then this property shall be null. If this "
          "PrintSupply does represent a PrintMarker colorant, then "
          "this property shall be present and shall denote the "
          "distinct levels of tonality realizable by a PrintMarker "
          "when using this colorant. This value does not include "
          "the number of levels of tonal difference that an "
          "interpreter can obtain by techniques such as half "
          "toning. This value must be at least 2." ), 
       MinValue ( 2 ), 
       MaxValue ( 2147483647 ), 
       MappingStrings { 
          "MIB.IETF|Printer-MIB.prtMarkerColorantTonality" }]
   uint32 ColorantTonality;


};
