xref: /openbmc/entity-manager/src/entity_manager/main.cpp (revision bc0b05bea374093673a94cfe3b8d455a72f3b9ad)
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 
main()11 int main()
12 {
13     const std::vector<std::filesystem::path> configurationDirectories = {
14         PACKAGE_DIR "configurations", SYSCONF_DIR "configurations"};
15 
16     const std::filesystem::path schemaDirectory(PACKAGE_DIR "schemas");
17 
18     boost::asio::io_context io;
19     auto systemBus = std::make_shared<sdbusplus::asio::connection>(io);
20     systemBus->request_name("xyz.openbmc_project.EntityManager");
21     EntityManager em(systemBus, io, configurationDirectories, schemaDirectory);
22 
23     boost::asio::post(io, [&]() { em.propertiesChangedCallback(); });
24 
25     em.handleCurrentConfigurationJson();
26 
27     io.run();
28 
29     return 0;
30 }
31