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 
8b072d1beSAdriana Kobylak #include <phosphor-logging/log.hpp>
97e8d76b3SAdriana Kobylak #include <sdbusplus/bus.hpp>
107e8d76b3SAdriana Kobylak #include <sdbusplus/server/manager.hpp>
117e8d76b3SAdriana Kobylak 
12*58aa7508SAdriana Kobylak #include <exception>
13*58aa7508SAdriana Kobylak 
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 
217e8d76b3SAdriana Kobylak     sdbusplus::server::manager::manager 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     }
34b072d1beSAdriana Kobylak     catch (std::exception& e)
35b072d1beSAdriana Kobylak     {
36b072d1beSAdriana Kobylak         using namespace phosphor::logging;
37b072d1beSAdriana Kobylak         log<level::ERR>(e.what());
38b072d1beSAdriana Kobylak         sd_event_unref(loop);
39b072d1beSAdriana Kobylak         return -1;
40b072d1beSAdriana Kobylak     }
41b072d1beSAdriana Kobylak 
42b072d1beSAdriana Kobylak     sd_event_unref(loop);
43b072d1beSAdriana Kobylak 
447e8d76b3SAdriana Kobylak     return 0;
457e8d76b3SAdriana Kobylak }
46