xref: /openbmc/entity-manager/src/entity_manager/main.cpp (revision 4e1142d6f418f48ea260132ebb5a4995b2310c90)
1*4e1142d6SAlexander Hansen // SPDX-License-Identifier: Apache-2.0
2*4e1142d6SAlexander Hansen // SPDX-FileCopyrightText: Copyright 2018 Intel Corporation
344c9025dSAlexander Hansen 
444c9025dSAlexander Hansen #include "entity_manager.hpp"
544c9025dSAlexander Hansen 
644c9025dSAlexander Hansen #include <boost/asio/io_context.hpp>
744c9025dSAlexander Hansen #include <boost/asio/post.hpp>
844c9025dSAlexander Hansen #include <nlohmann/json.hpp>
944c9025dSAlexander Hansen #include <sdbusplus/asio/connection.hpp>
1044c9025dSAlexander Hansen 
main()1144c9025dSAlexander Hansen int main()
1244c9025dSAlexander Hansen {
1344c9025dSAlexander Hansen     boost::asio::io_context io;
1444c9025dSAlexander Hansen     auto systemBus = std::make_shared<sdbusplus::asio::connection>(io);
1544c9025dSAlexander Hansen     systemBus->request_name("xyz.openbmc_project.EntityManager");
1644c9025dSAlexander Hansen     EntityManager em(systemBus, io);
1744c9025dSAlexander Hansen 
1844c9025dSAlexander Hansen     nlohmann::json systemConfiguration = nlohmann::json::object();
1944c9025dSAlexander Hansen 
2044c9025dSAlexander Hansen     boost::asio::post(io, [&]() { em.propertiesChangedCallback(); });
2144c9025dSAlexander Hansen 
2244c9025dSAlexander Hansen     em.handleCurrentConfigurationJson();
2344c9025dSAlexander Hansen 
2444c9025dSAlexander Hansen     io.run();
2544c9025dSAlexander Hansen 
2644c9025dSAlexander Hansen     return 0;
2744c9025dSAlexander Hansen }
28