1 #include "hyp_network_manager.hpp"
2 
3 #include <sdeventplus/event.hpp>
4 #include <stdplus/print.hpp>
5 
6 constexpr char DEFAULT_HYP_NW_OBJPATH[] =
7     "/xyz/openbmc_project/network/hypervisor";
8 constexpr char HYP_DEFAULT_NETWORK_BUSNAME[] =
9     "xyz.openbmc_project.Network.Hypervisor";
10 
11 namespace phosphor
12 {
13 namespace network
14 {
15 
main()16 int main()
17 {
18     auto bus = sdbusplus::bus::new_default();
19 
20     // Add sdbusplus ObjectManager
21     sdbusplus::server::manager_t objManager(bus, DEFAULT_HYP_NW_OBJPATH);
22 
23     // Get default event loop
24     auto event = sdeventplus::Event::get_default();
25 
26     // Attach the bus to sd_event to service user requests
27     bus.attach_event(event.get(), SD_EVENT_PRIORITY_NORMAL);
28 
29     // Create hypervisor network manager dbus object
30     auto manager = std::make_unique<HypNetworkMgr>(bus, DEFAULT_HYP_NW_OBJPATH);
31 
32     // Create the hypervisor eth interface objects
33     manager->createIfObjects();
34 
35     // Create the hypervisor system config object
36     manager->createSysConfObj();
37     const SystemConfPtr& systemConfigObj = manager->getSystemConf();
38     systemConfigObj->setHostName();
39 
40     bus.request_name(HYP_DEFAULT_NETWORK_BUSNAME);
41 
42     return event.loop();
43 }
44 
45 } // namespace network
46 } // namespace phosphor
47 
main(int,char **)48 int main(int /*argc*/, char** /*argv*/)
49 {
50     try
51     {
52         return phosphor::network::main();
53     }
54     catch (const std::exception& e)
55     {
56         stdplus::print(stderr, "FAILED: {}", e.what());
57         fflush(stderr);
58         return 1;
59     }
60 }
61