// Copyright (c) 2005 DMTF.  All rights reserved.
   [Version ( "2.6.0" ), 
    UMLPackagePath ( "CIM::Device::CoolingAndPower" ), 
    Description ( "Capabilities and management of a Fan CoolingDevice." )]
class CIM_Fan : CIM_CoolingDevice {

      [Description ( 
          "Indication of whether the fan supports variable speeds." )]
   boolean VariableSpeed;

      [Description ( 
          "DesiredSpeed is the currently requested fan speed, "
          "defined in Revolutions per Minute, when a variable speed "
          "fan is supported (VariableSpeed boolean = TRUE). The "
          "current speed is determined via a sensor "
          "(CIM_Tachometer) that is associated with the Fan using "
          "the CIM_AssociatedSensor relationship." ), 
       Units ( "Revolutions per Minute" )]
   uint64 DesiredSpeed;


      [Description ( 
          "Requests that the Fan speed be set to the value "
          "specified in the method\'s input parameter. The return "
          "value should be 0 if the request was successfully "
          "executed, 1 if the request is not supported and some "
          "other value if an error occurred. In a subclass, the set "
          "of possible return codes could be specified, using a "
          "ValueMap qualifier on the method. The strings to which "
          "the ValueMap contents are \'translated\' may also be "
          "specified in the subclass as a Values array qualifier." )]
   uint32 SetSpeed(
         [IN, Description ( "The desired speed for the fan." )]
      uint64 DesiredSpeed);

};
