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 Hansenvoid 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 Hansenint 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