1 #include <cstdlib> 2 #include <exception> 3 #include <sdbusplus/bus.hpp> 4 #include <phosphor-logging/log.hpp> 5 #include "config.h" 6 #include "bmc_version.hpp" 7 #include "watch.hpp" 8 9 int main(int argc, char* argv[]) 10 { 11 auto bus = sdbusplus::bus::new_default(); 12 13 sd_event* loop = nullptr; 14 sd_event_default(&loop); 15 16 sdbusplus::server::manager::manager objManager(bus, 17 SOFTWARE_OBJPATH); 18 phosphor::software::manager::BMCVersion manager(bus, 19 SOFTWARE_OBJPATH); 20 bus.request_name(VERSION_BUSNAME); 21 22 try 23 { 24 phosphor::software::manager::Watch watch(loop); 25 bus.attach_event(loop, SD_EVENT_PRIORITY_NORMAL); 26 sd_event_loop(loop); 27 } 28 catch (std::exception& e) 29 { 30 using namespace phosphor::logging; 31 log<level::ERR>(e.what()); 32 return -1; 33 } 34 35 sd_event_unref(loop); 36 37 return 0; 38 } 39