#include #include #include #include #include "config.h" #include "bmc_version.hpp" #include "watch.hpp" #include "image_manager.hpp" int main(int argc, char* argv[]) { auto bus = sdbusplus::bus::new_default(); sd_event* loop = nullptr; sd_event_default(&loop); sdbusplus::server::manager::manager objManager(bus, SOFTWARE_OBJPATH); phosphor::software::manager::BMCVersion manager(bus, SOFTWARE_OBJPATH); bus.request_name(VERSION_BUSNAME); try { phosphor::software::manager::Manager imageManager(bus); phosphor::software::manager::Watch watch(loop, std::bind( std::mem_fn( &phosphor::software::manager::Manager::processImage), &imageManager, std::placeholders::_1)); bus.attach_event(loop, SD_EVENT_PRIORITY_NORMAL); sd_event_loop(loop); } catch (std::exception& e) { using namespace phosphor::logging; log(e.what()); return -1; } sd_event_unref(loop); return 0; }