using NvAPIWrapper.Native.GPU;
using NvAPIWrapper.Native.GPU.Structures;
namespace NvAPIWrapper.GPU
{
///
/// Holds information regarding a possible thermal limit policy and its acceptable range
///
public class GPUThermalLimitInfo
{
internal GPUThermalLimitInfo(PrivateThermalPoliciesInfoV2.ThermalPoliciesInfoEntry policiesInfoEntry)
{
Controller = policiesInfoEntry.Controller;
MinimumTemperature = policiesInfoEntry.MinimumTemperature;
DefaultTemperature = policiesInfoEntry.DefaultTemperature;
MaximumTemperature = policiesInfoEntry.MaximumTemperature;
}
///
/// Gets the policy's thermal controller
///
public ThermalController Controller { get; }
///
/// Gets the default policy target temperature in degree Celsius
///
public int DefaultTemperature { get; }
///
/// Gets the maximum possible policy target temperature in degree Celsius
///
public int MaximumTemperature { get; }
///
/// Gets the minimum possible policy target temperature in degree Celsius
///
public int MinimumTemperature { get; }
///
public override string ToString()
{
return
$"[{Controller}] Default: {DefaultTemperature}°C - Range: ({MinimumTemperature}°C - {MaximumTemperature}°C)";
}
}
}