blob: 29b4e581525eec23459a1f6ef44242fea221f217 [file] [log] [blame]
Adriana Kobylak70f5bc02020-05-13 14:08:14 -05001#include "config.h"
2
Adriana Kobylak86013f32020-05-13 12:12:38 -05003#include "item_updater_helper.hpp"
4
Adriana Kobylak34124352020-05-22 09:40:40 -05005#include <thread>
6
Adriana Kobylak86013f32020-05-13 12:12:38 -05007namespace phosphor
8{
9namespace software
10{
11namespace updater
12{
13
14void Helper::setEntry(const std::string& /* entryId */, uint8_t /* value */)
15{
16 // Empty
17}
18
19void Helper::clearEntry(const std::string& /* entryId */)
20{
21 // Empty
22}
23
24void Helper::cleanup()
25{
26 // Empty
27}
28
29void Helper::factoryReset()
30{
31 // Empty
32}
33
Adriana Kobylak70f5bc02020-05-13 14:08:14 -050034void Helper::removeVersion(const std::string& versionId)
Adriana Kobylak86013f32020-05-13 12:12:38 -050035{
Adriana Kobylak70f5bc02020-05-13 14:08:14 -050036 auto method = bus.new_method_call(SYSTEMD_BUSNAME, SYSTEMD_PATH,
37 SYSTEMD_INTERFACE, "StartUnit");
38 auto serviceFile = "obmc-flash-mmc-remove@" + versionId + ".service";
39 method.append(serviceFile, "replace");
40 bus.call_noreply(method);
Adriana Kobylak86013f32020-05-13 12:12:38 -050041}
42
Adriana Kobylak34124352020-05-22 09:40:40 -050043void Helper::updateUbootVersionId(const std::string& versionId)
Adriana Kobylak86013f32020-05-13 12:12:38 -050044{
Adriana Kobylak34124352020-05-22 09:40:40 -050045 auto method = bus.new_method_call(SYSTEMD_BUSNAME, SYSTEMD_PATH,
46 SYSTEMD_INTERFACE, "StartUnit");
47 auto serviceFile = "obmc-flash-mmc-setprimary@" + versionId + ".service";
48 method.append(serviceFile, "replace");
49 bus.call_noreply(method);
50
51 // Wait a few seconds for the service file to finish, otherwise the BMC may
52 // be rebooted while pointing to a non-existent version.
53 constexpr auto setPrimaryWait = std::chrono::seconds(3);
54 std::this_thread::sleep_for(setPrimaryWait);
Adriana Kobylak86013f32020-05-13 12:12:38 -050055}
56
57void Helper::mirrorAlt()
58{
59 // Empty
60}
61
62} // namespace updater
63} // namespace software
64} // namespace phosphor