| 129 | static std::list< std::function<bool() > > globalRunner; |
| 130 | |
| 131 | void runApps(std::list< std::function<bool() > > runner) { |
| 132 | GlobalSettings::startUpArgs = StartUpArgs(); |
| 133 | while (runner.size() > 0) { |
| 134 | std::function<bool()> next = runner.front(); |
| 135 | runner.pop_front(); |
| 136 | globalRunner = runner; |
| 137 | bool result = next(); |
| 138 | if (!result) { |
| 139 | return; |
| 140 | } |
| 141 | if (runner.size()) { |
| 142 | if (GlobalSettings::startUpArgs.runOnRestartUI) { |
| 143 | kpanic("runApps runOnRestartUI should not be set"); |
| 144 | } |
| 145 | if (GlobalSettings::startUpArgs.readyToLaunch) { |
| 146 | GlobalSettings::startUpArgs.runOnRestartUI = [runner]() { |
| 147 | runApps(runner); |
| 148 | }; |
| 149 | break; |
| 150 | } |
| 151 | } |
| 152 | } |
| 153 | } |
| 154 | |
| 155 | void downloadNext(std::list< std::function<bool() > > runner, std::list<AppDownloadTask> downloads) { |
| 156 | while (downloads.size()) { |