diff options
Diffstat (limited to 'mof/LMI_Fan.mof')
-rw-r--r-- | mof/LMI_Fan.mof | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/mof/LMI_Fan.mof b/mof/LMI_Fan.mof new file mode 100644 index 0000000..caee936 --- /dev/null +++ b/mof/LMI_Fan.mof @@ -0,0 +1,106 @@ +/* + * Copyright (C) 2012 Michal Minar <miminar@redhat.com> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see <http://www.gnu.org/licenses/>. + */ + +[ Provider("cmpi:cmpiCura_Fan") ] +class LMI_Fan: CIM_Fan +{ + [ Key, Override("DeviceID"), + Description("Uniquely identifies fan. It is a composition of " + "SysPath and Name glued with slash ('/').") ] + string DeviceID; + + [ Override("Name"), + Description("Name of fan provided by system.") ] + string Name; + + [ Description("Array of fan features, that are exposed through system " + " interface. In other words: those that are readible/writable."), + ValueMap { "1", "2", "3", "4", "5", "6", "7", "8" }, + Values { "MinSpeed", "MaxSpeed", "Divisor", "Pulses", "Beep", + "Alarm", "MinAlarm", "MaxAlarm" } + ] + uint16 AccessibleFeatures[]; + + [ Description("Minimum speed value."), Write, + Units("Revolutions per Minute") ] + uint64 MinSpeed; + + [ Description("Maximum speed value."), Write, + Units("Revolutions per Minute") ] + uint64 MaxSpeed; + + [ Description("Fan divisisor. It affects Minimum and Maximum speed value " + "and accuracy of readings. " + "The drivers account for the 'fan divisor' in their calculation " + "of RPM. So changing the fan divisor will NOT change the " + "nominal RPM reading, it will only affect the minimum and maximum " + "readings and the accuracy of the readings. " + "The actual formula is RPM = (60 * 22500) / (count * divisor)"), + Write ] + uint32 Divisor; + + [ Description("Number of tachometer pulses per fan revolution. " + "Integer value, typically between 1 and 4. " + "This value is a characteristic of the fan connected to the " + "device's input, so it has to be set in accordance with the fan " + "model."), + Write ] + uint32 Pulses; + + [ Description("This indicates, whether a PC's speaker should beep " + "when an alarm occurs."), + Write ] + boolean Beep; + + [ Description("ALARM warning indicating, that current speed is out of " + "range. This information is supplied by fan's chip driver.") ] + boolean Alarm; + + [ Description("ALARM warning indicating, that current speed is below " + "the critical level. This information is supplied by fan's chip " + "driver.") ] + boolean MinAlarm; + + [ Description("ALARM warning indicating, that current speed is above " + "the critical level. This information is supplied by fan's chip " + "driver.") ] + boolean MaxAlarm; +}; + +[ Provider("cmpi:cmpiCura_Fan") ] +class LMI_FanSensor: CIM_NumericSensor +{ + [ Key, Override("DeviceID"), + Description("Uniquely identifies fan. It is a composition of " + "SysPath and Name glued with slash ('/').") ] + string DeviceID; + + [ Override("Name"), + Description("Name of fan provided by system.") ] + string Name; +}; + +[ Association, + Provider("cmpi:cmpiCura_Fan") ] +class LMI_FanAssociatedSensor: CIM_AssociatedSensor +{ + [ Override("Antecedent") ] + LMI_FanSensor REF Antecedent; + + [ Override("Dependent") ] + LMI_Fan REF Dependent; +}; |