/* // Copyright (c) 2019 Intel Corporation // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. */ #pragma once #include #include #include #include #include namespace CR { using BasicVariantType = std::variant, std::vector, std::vector, std::string, int64_t, uint64_t, double, int32_t, uint32_t, int16_t, uint16_t, uint8_t, bool>; using PropertyMapType = boost::container::flat_map; using GetSubTreeType = std::vector< std::pair>>>>; constexpr std::chrono::microseconds dbusTimeout(5000); static std::string psuEventPath = "/xyz/openbmc_project/State/Decorator/"; enum class PSUState { normal, acLost }; /** * Getting PSU Event from PSU D-Bus interfaces * * @param[in] dbusConnection - D-Bus connection * @param[in] psuName - PSU name such as "PSU1" * @param[out] state - PSU state, normal or acLost */ void getPSUEvent( const std::shared_ptr& dbusConnection, const std::string& psuName, PSUState& state); } // namespace CR