xref: /openbmc/phosphor-bmc-code-mgmt/bios/main.cpp (revision f2c95a08ad4340d8e8e7ccdb1af9f5a45d180530)
1*f2c95a08SAlexander Hansen #include "bios_software_manager.hpp"
2*f2c95a08SAlexander Hansen 
3*f2c95a08SAlexander Hansen #include <phosphor-logging/lg2.hpp>
4*f2c95a08SAlexander Hansen #include <sdbusplus/asio/connection.hpp>
5*f2c95a08SAlexander Hansen #include <sdbusplus/asio/object_server.hpp>
6*f2c95a08SAlexander Hansen #include <sdbusplus/async.hpp>
7*f2c95a08SAlexander Hansen #include <sdbusplus/server.hpp>
8*f2c95a08SAlexander Hansen 
run(bool dryRun)9*f2c95a08SAlexander Hansen void run(bool dryRun)
10*f2c95a08SAlexander Hansen {
11*f2c95a08SAlexander Hansen     sdbusplus::async::context ctx;
12*f2c95a08SAlexander Hansen 
13*f2c95a08SAlexander Hansen     std::vector<std::string> configIntfs = {
14*f2c95a08SAlexander Hansen         "xyz.openbmc_project.Configuration.SPIFlash",
15*f2c95a08SAlexander Hansen     };
16*f2c95a08SAlexander Hansen 
17*f2c95a08SAlexander Hansen     BIOSSoftwareManager spidcu(ctx, dryRun);
18*f2c95a08SAlexander Hansen 
19*f2c95a08SAlexander Hansen     ctx.spawn(spidcu.initDevices(configIntfs));
20*f2c95a08SAlexander Hansen 
21*f2c95a08SAlexander Hansen     ctx.run();
22*f2c95a08SAlexander Hansen }
23*f2c95a08SAlexander Hansen 
main(int argc,char * argv[])24*f2c95a08SAlexander Hansen int main(int argc, char* argv[])
25*f2c95a08SAlexander Hansen {
26*f2c95a08SAlexander Hansen     bool dryRun = false;
27*f2c95a08SAlexander Hansen 
28*f2c95a08SAlexander Hansen     for (int i = 1; i < argc; i++)
29*f2c95a08SAlexander Hansen     {
30*f2c95a08SAlexander Hansen         std::string arg = std::string(argv[i]);
31*f2c95a08SAlexander Hansen         if (arg == "--dryrun")
32*f2c95a08SAlexander Hansen         {
33*f2c95a08SAlexander Hansen             dryRun = true;
34*f2c95a08SAlexander Hansen         }
35*f2c95a08SAlexander Hansen     }
36*f2c95a08SAlexander Hansen 
37*f2c95a08SAlexander Hansen     run(dryRun);
38*f2c95a08SAlexander Hansen 
39*f2c95a08SAlexander Hansen     return 0;
40*f2c95a08SAlexander Hansen }
41