1e0538848SWilliam A. Kennington III #include "config.h" 2e0538848SWilliam A. Kennington III 3e0538848SWilliam A. Kennington III #include <phosphor-logging/elog.hpp> 42544b419SPatrick Williams 5e0538848SWilliam A. Kennington III #include <stdexcept> 6e0538848SWilliam A. Kennington III 7e0538848SWilliam A. Kennington III namespace phosphor 8e0538848SWilliam A. Kennington III { 9e0538848SWilliam A. Kennington III namespace logging 10e0538848SWilliam A. Kennington III { 11e0538848SWilliam A. Kennington III namespace details 12e0538848SWilliam A. Kennington III { 13*6ddbf69eSWilly Tu using namespace sdbusplus::server::xyz::openbmc_project::logging; 14e0538848SWilliam A. Kennington III 15e0538848SWilliam A. Kennington III auto _prepareMsg(const char* funcName) 16e0538848SWilliam A. Kennington III { 17e0538848SWilliam A. Kennington III using phosphor::logging::log; 18e0538848SWilliam A. Kennington III constexpr auto IFACE_INTERNAL( 19e0538848SWilliam A. Kennington III "xyz.openbmc_project.Logging.Internal.Manager"); 20e0538848SWilliam A. Kennington III 21e0538848SWilliam A. Kennington III // Transaction id is located at the end of the string separated by a period. 22e0538848SWilliam A. Kennington III 23e0538848SWilliam A. Kennington III auto b = sdbusplus::bus::new_default(); 24e0538848SWilliam A. Kennington III 25e0538848SWilliam A. Kennington III auto m = b.new_method_call(BUSNAME_LOGGING, OBJ_INTERNAL, IFACE_INTERNAL, 26e0538848SWilliam A. Kennington III funcName); 27e0538848SWilliam A. Kennington III return m; 28e0538848SWilliam A. Kennington III } 29e0538848SWilliam A. Kennington III 30e0538848SWilliam A. Kennington III uint32_t commit(const char* name) 31e0538848SWilliam A. Kennington III { 32e0538848SWilliam A. Kennington III auto msg = _prepareMsg("Commit"); 33e0538848SWilliam A. Kennington III uint64_t id = sdbusplus::server::transaction::get_id(); 34e0538848SWilliam A. Kennington III msg.append(id, name); 35e0538848SWilliam A. Kennington III auto bus = sdbusplus::bus::new_default(); 36e0538848SWilliam A. Kennington III auto reply = bus.call(msg); 37e0538848SWilliam A. Kennington III uint32_t entryID; 38e0538848SWilliam A. Kennington III reply.read(entryID); 39e0538848SWilliam A. Kennington III return entryID; 40e0538848SWilliam A. Kennington III } 41e0538848SWilliam A. Kennington III 42e0538848SWilliam A. Kennington III uint32_t commit(const char* name, Entry::Level level) 43e0538848SWilliam A. Kennington III { 44e0538848SWilliam A. Kennington III auto msg = _prepareMsg("CommitWithLvl"); 45e0538848SWilliam A. Kennington III uint64_t id = sdbusplus::server::transaction::get_id(); 46e0538848SWilliam A. Kennington III msg.append(id, name, static_cast<uint32_t>(level)); 47e0538848SWilliam A. Kennington III auto bus = sdbusplus::bus::new_default(); 48e0538848SWilliam A. Kennington III auto reply = bus.call(msg); 49e0538848SWilliam A. Kennington III uint32_t entryID; 50e0538848SWilliam A. Kennington III reply.read(entryID); 51e0538848SWilliam A. Kennington III return entryID; 52e0538848SWilliam A. Kennington III } 53e0538848SWilliam A. Kennington III } // namespace details 54e0538848SWilliam A. Kennington III 55e0538848SWilliam A. Kennington III uint32_t commit(std::string&& name) 56e0538848SWilliam A. Kennington III { 57e0538848SWilliam A. Kennington III log<level::ERR>("method is deprecated, use commit() with exception type"); 58e0538848SWilliam A. Kennington III return phosphor::logging::details::commit(name.c_str()); 59e0538848SWilliam A. Kennington III } 60e0538848SWilliam A. Kennington III 61e0538848SWilliam A. Kennington III } // namespace logging 62e0538848SWilliam A. Kennington III } // namespace phosphor 63