blob: dba1134c980231cf1dc330cf537b87206f9da69c [file] [log] [blame]
Brad Bishop179b39b2016-05-12 16:45:57 -04001# Contributors Listed Below - COPYRIGHT 2016
2# [+] International Business Machines Corp.
3#
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
14# implied. See the License for the specific language governing
15# permissions and limitations under the License.
16
17import os
18import subprocess
19import dbus
20import dbus.service
21from obmc.dbuslib.bindings import DbusProperties
22
23
Brad Bishopaea38c62018-01-30 13:00:26 -050024# Abstract class, must subclass
Brad Bishop179b39b2016-05-12 16:45:57 -040025class SensorValue(DbusProperties):
26 IFACE_NAME = 'org.openbmc.SensorValue'
27
28 def __init__(self, bus, name):
29 self.Set(SensorValue.IFACE_NAME, 'units', "")
30 self.Set(SensorValue.IFACE_NAME, 'error', False)
31
32 @dbus.service.method(
33 IFACE_NAME, in_signature='v', out_signature='')
34 def setValue(self, value):
35 self.Set(SensorValue.IFACE_NAME, 'value', value)
36
37 @dbus.service.method(
38 IFACE_NAME, in_signature='', out_signature='v')
39 def getValue(self):
40 return self.Get(SensorValue.IFACE_NAME, 'value')
41
42
Brad Bishop179b39b2016-05-12 16:45:57 -040043class VirtualSensor(SensorValue):
44 def __init__(self, bus, name):
45 DbusProperties.__init__(self)
46 SensorValue.__init__(self, bus, name)
47 dbus.service.Object.__init__(self, bus, name)
48
49
Brad Bishop179b39b2016-05-12 16:45:57 -040050CONTROL_IFACE = 'org.openbmc.Control'
51
52