1b0ce996aSGunnar Mills #include "config.h"
2b0ce996aSGunnar Mills 
3b0ce996aSGunnar Mills #include "sync_manager.hpp"
4b0ce996aSGunnar Mills #include "sync_watch.hpp"
5b0ce996aSGunnar Mills 
6b0ce996aSGunnar Mills #include <systemd/sd-event.h>
7b0ce996aSGunnar Mills 
8c9bb6425SPatrick Williams #include <phosphor-logging/lg2.hpp>
97e8d76b3SAdriana Kobylak #include <sdbusplus/bus.hpp>
107e8d76b3SAdriana Kobylak #include <sdbusplus/server/manager.hpp>
117e8d76b3SAdriana Kobylak 
1258aa7508SAdriana Kobylak #include <exception>
1358aa7508SAdriana Kobylak 
main()14292159f4SAdriana Kobylak int main()
157e8d76b3SAdriana Kobylak {
167e8d76b3SAdriana Kobylak     auto bus = sdbusplus::bus::new_default();
177e8d76b3SAdriana Kobylak 
18b072d1beSAdriana Kobylak     sd_event* loop = nullptr;
19b072d1beSAdriana Kobylak     sd_event_default(&loop);
20b072d1beSAdriana Kobylak 
21*bf2bb2b1SPatrick Williams     sdbusplus::server::manager_t objManager(bus, SOFTWARE_OBJPATH);
22b072d1beSAdriana Kobylak 
23b072d1beSAdriana Kobylak     try
24b072d1beSAdriana Kobylak     {
25b072d1beSAdriana Kobylak         phosphor::software::manager::Sync syncManager;
267e8d76b3SAdriana Kobylak 
27b072d1beSAdriana Kobylak         using namespace phosphor::software::manager;
28b072d1beSAdriana Kobylak         phosphor::software::manager::SyncWatch watch(
29a9074342SAdriana Kobylak             *loop, std::bind(std::mem_fn(&Sync::processEntry), &syncManager,
30a9074342SAdriana Kobylak                              std::placeholders::_1, std::placeholders::_2));
31b072d1beSAdriana Kobylak         bus.attach_event(loop, SD_EVENT_PRIORITY_NORMAL);
32b072d1beSAdriana Kobylak         sd_event_loop(loop);
33b072d1beSAdriana Kobylak     }
3458e18979SPatrick Williams     catch (const std::exception& e)
35b072d1beSAdriana Kobylak     {
36c9bb6425SPatrick Williams         lg2::error("Error in event loop: {ERROR}", "ERROR", e);
37b072d1beSAdriana Kobylak         sd_event_unref(loop);
38b072d1beSAdriana Kobylak         return -1;
39b072d1beSAdriana Kobylak     }
40b072d1beSAdriana Kobylak 
41b072d1beSAdriana Kobylak     sd_event_unref(loop);
42b072d1beSAdriana Kobylak 
437e8d76b3SAdriana Kobylak     return 0;
447e8d76b3SAdriana Kobylak }
45