136529022SAndrew Geissler #include "config.h"
2*e426b589SAndrew Geissler 
336529022SAndrew Geissler #include "host_state_manager.hpp"
436529022SAndrew Geissler 
5*e426b589SAndrew Geissler #include <sdbusplus/bus.hpp>
6*e426b589SAndrew Geissler 
7*e426b589SAndrew Geissler #include <cstdlib>
8*e426b589SAndrew Geissler #include <exception>
9*e426b589SAndrew Geissler #include <experimental/filesystem>
10*e426b589SAndrew Geissler #include <iostream>
11*e426b589SAndrew Geissler 
12769a62f1SAndrew Geissler int main()
1336529022SAndrew Geissler {
143f475242SDhruvaraj Subhashchandran     namespace fs = std::experimental::filesystem;
153f475242SDhruvaraj Subhashchandran 
1636529022SAndrew Geissler     auto bus = sdbusplus::bus::new_default();
1736529022SAndrew Geissler 
181cb8b707SAndrew Geissler     // For now, we only have one instance of the host
19a90a31a9SAndrew Geissler     auto objPathInst = std::string{HOST_OBJPATH} + '0';
201cb8b707SAndrew Geissler 
2136529022SAndrew Geissler     // Add sdbusplus ObjectManager.
221cb8b707SAndrew Geissler     sdbusplus::server::manager::manager objManager(bus, objPathInst.c_str());
2336529022SAndrew Geissler 
24769a62f1SAndrew Geissler     phosphor::state::manager::Host manager(bus, objPathInst.c_str());
25a90a31a9SAndrew Geissler 
263f475242SDhruvaraj Subhashchandran     auto dir = fs::path(HOST_STATE_PERSIST_PATH).parent_path();
273f475242SDhruvaraj Subhashchandran     fs::create_directories(dir);
283f475242SDhruvaraj Subhashchandran 
29a90a31a9SAndrew Geissler     bus.request_name(HOST_BUSNAME);
3036529022SAndrew Geissler 
3136529022SAndrew Geissler     while (true)
3236529022SAndrew Geissler     {
3336529022SAndrew Geissler         bus.process_discard();
3436529022SAndrew Geissler         bus.wait();
3536529022SAndrew Geissler     }
3636529022SAndrew Geissler     return 0;
3736529022SAndrew Geissler }
38