#include <ipmid/api.hpp> #include <sdbusplus/asio/connection.hpp> #include <memory> namespace { std::unique_ptr<sdbusplus::asio::connection> sdbusp; } // namespace /** * @brief ipmid_get_sdbus_plus_handler is used by some ipmi providers * * @return: a reference to a unique pointer of the systemd connection * managed by the systemintfcmds code */ std::unique_ptr<sdbusplus::asio::connection>& ipmid_get_sdbus_plus_handler() { if (!sdbusp) { // Create a new sdbus connection so it can have a well-known name sd_bus* bus = nullptr; sd_bus_open_system(&bus); if (bus) { sdbusp = std::make_unique<sdbusplus::asio::connection>( *getIoContext(), bus); } } return sdbusp; }