1ab795a1dSBrad Bishop #pragma once 2ab795a1dSBrad Bishop 3*9bbe6026SCarol Wang #include "sensorset.hpp" 4*9bbe6026SCarol Wang 5ab795a1dSBrad Bishop #include <cstdlib> 6ab795a1dSBrad Bishop 7ab795a1dSBrad Bishop namespace phosphor 8ab795a1dSBrad Bishop { 9ab795a1dSBrad Bishop namespace utility 10ab795a1dSBrad Bishop { 11ab795a1dSBrad Bishop /** @struct Free 12ab795a1dSBrad Bishop * @brief A malloc cleanup type for use with smart pointers. 13ab795a1dSBrad Bishop */ 14ab795a1dSBrad Bishop template <typename T> 15ab795a1dSBrad Bishop struct Free 16ab795a1dSBrad Bishop { operator ()phosphor::utility::Free17ab795a1dSBrad Bishop void operator()(T* ptr) const 18ab795a1dSBrad Bishop { 19ab795a1dSBrad Bishop free(ptr); 20ab795a1dSBrad Bishop } 21ab795a1dSBrad Bishop }; 22*9bbe6026SCarol Wang 23*9bbe6026SCarol Wang /** @brief Check if AVERAGE_power* is set to be true in env 24*9bbe6026SCarol Wang * 25*9bbe6026SCarol Wang * @param[in] sensor - Sensor details 26*9bbe6026SCarol Wang * 27*9bbe6026SCarol Wang * @return bool - true or false 28*9bbe6026SCarol Wang */ isAverageEnvSet(const SensorSet::key_type & sensor)29*9bbe6026SCarol Wanginline bool isAverageEnvSet(const SensorSet::key_type& sensor) 30*9bbe6026SCarol Wang { 31*9bbe6026SCarol Wang return env::getEnv("AVERAGE", sensor.first, sensor.second) == "true"; 32*9bbe6026SCarol Wang } 33ab795a1dSBrad Bishop } // namespace utility 34ab795a1dSBrad Bishop } // namespace phosphor 35