1 // SPDX-License-Identifier: Apache-2.0 2 // SPDX-FileCopyrightText: Copyright 2017 Google Inc 3 4 #include "pluggable.hpp" 5 6 #include "hoststatemonitor.hpp" 7 #include "interfaces.hpp" 8 9 #include <cstdint> 10 #include <string> 11 12 namespace pid_control 13 { 14 read(void)15ReadReturn PluggableSensor::read(void) 16 { 17 return _reader->read(); 18 } 19 write(double value)20void PluggableSensor::write(double value) 21 { 22 _writer->write(value); 23 } 24 write(double value,bool force,int64_t * written)25void PluggableSensor::write(double value, bool force, int64_t* written) 26 { 27 _writer->write(value, force, written); 28 } 29 getFailed(void)30bool PluggableSensor::getFailed(void) 31 { 32 bool isFailed = _reader->getFailed(); 33 34 if (isFailed && getIgnoreFailIfHostOff()) 35 { 36 auto& hostState = HostStateMonitor::getInstance(); 37 if (!hostState.isPowerOn()) 38 { 39 return false; 40 } 41 } 42 43 return isFailed; 44 } 45 getFailReason(void)46std::string PluggableSensor::getFailReason(void) 47 { 48 return _reader->getFailReason(); 49 } 50 51 } // namespace pid_control 52