136529022SAndrew Geissler #include <cstdlib> 236529022SAndrew Geissler #include <iostream> 336529022SAndrew Geissler #include <exception> 436529022SAndrew Geissler #include <sdbusplus/bus.hpp> 5*3f475242SDhruvaraj Subhashchandran #include <experimental/filesystem> 636529022SAndrew Geissler #include "config.h" 736529022SAndrew Geissler #include "host_state_manager.hpp" 836529022SAndrew Geissler 936529022SAndrew Geissler int main(int argc, char *argv[]) 1036529022SAndrew Geissler { 11*3f475242SDhruvaraj Subhashchandran namespace fs = std::experimental::filesystem; 12*3f475242SDhruvaraj Subhashchandran 1336529022SAndrew Geissler auto bus = sdbusplus::bus::new_default(); 1436529022SAndrew Geissler 151cb8b707SAndrew Geissler // For now, we only have one instance of the host 16a90a31a9SAndrew Geissler auto objPathInst = std::string{HOST_OBJPATH} + '0'; 171cb8b707SAndrew Geissler 1836529022SAndrew Geissler // Add sdbusplus ObjectManager. 191cb8b707SAndrew Geissler sdbusplus::server::manager::manager objManager(bus, objPathInst.c_str()); 2036529022SAndrew Geissler 21a90a31a9SAndrew Geissler phosphor::state::manager::Host manager(bus, 22a90a31a9SAndrew Geissler HOST_BUSNAME, 23a90a31a9SAndrew Geissler objPathInst.c_str()); 24a90a31a9SAndrew Geissler 25*3f475242SDhruvaraj Subhashchandran auto dir = fs::path(HOST_STATE_PERSIST_PATH).parent_path(); 26*3f475242SDhruvaraj Subhashchandran fs::create_directories(dir); 27*3f475242SDhruvaraj Subhashchandran 28a90a31a9SAndrew Geissler bus.request_name(HOST_BUSNAME); 2936529022SAndrew Geissler 3036529022SAndrew Geissler while(true) 3136529022SAndrew Geissler { 3236529022SAndrew Geissler bus.process_discard(); 3336529022SAndrew Geissler bus.wait(); 3436529022SAndrew Geissler } 3536529022SAndrew Geissler return 0; 3636529022SAndrew Geissler } 37