xref: /openbmc/entity-manager/src/entity_manager/main.cpp (revision 8290ca426d12519eb182032837a5eb3baf05567e)
1 // SPDX-License-Identifier: Apache-2.0
2 // SPDX-FileCopyrightText: Copyright 2018 Intel Corporation
3 
4 #include "entity_manager.hpp"
5 
6 #include <boost/asio/io_context.hpp>
7 #include <boost/asio/post.hpp>
8 #include <nlohmann/json.hpp>
9 #include <sdbusplus/asio/connection.hpp>
10 
11 int main()
12 {
13     const std::vector<std::filesystem::path> configurationDirectories = {
14         PACKAGE_DIR "configurations", SYSCONF_DIR "configurations"};
15 
16     boost::asio::io_context io;
17     auto systemBus = std::make_shared<sdbusplus::asio::connection>(io);
18     systemBus->request_name("xyz.openbmc_project.EntityManager");
19     EntityManager em(systemBus, io, configurationDirectories);
20 
21     boost::asio::post(io, [&]() { em.propertiesChangedCallback(); });
22 
23     em.handleCurrentConfigurationJson();
24 
25     io.run();
26 
27     return 0;
28 }
29