update_engine: support DLC update
All DLC update related code is hide behind USE_dlc flag so platform
update never touches this new code path unless enabled later.
In CheckForUpdate, update_engine calls dlcservice to get a list of DLC
module and set 'dlc_ids_' accordingly.
BUG=chromium:900653
TEST=unittest
Change-Id: I654e37effa7c1b70b25147a027f2b16abe6bf9e1
Reviewed-on: https://chromium-review.googlesource.com/1321009
Commit-Ready: Xiaochu Liu <xiaochu@chromium.org>
Tested-by: Xiaochu Liu <xiaochu@chromium.org>
Reviewed-by: Amin Hassani <ahassani@chromium.org>
diff --git a/real_system_state.cc b/real_system_state.cc
index 9dab3a1..f576c6c 100644
--- a/real_system_state.cc
+++ b/real_system_state.cc
@@ -32,6 +32,7 @@
#include "update_engine/common/boot_control.h"
#include "update_engine/common/boot_control_stub.h"
#include "update_engine/common/constants.h"
+#include "update_engine/common/dlcservice.h"
#include "update_engine/common/hardware.h"
#include "update_engine/common/utils.h"
#include "update_engine/metrics_reporter_omaha.h"
@@ -88,6 +89,12 @@
return false;
}
+ dlcservice_ = CreateDlcService();
+ if (!dlcservice_) {
+ LOG(ERROR) << "Error initializing the DlcServiceInterface.";
+ return false;
+ }
+
// Initialize standard and powerwash-safe prefs.
base::FilePath non_volatile_path;
// TODO(deymo): Fall back to in-memory prefs if there's no physical directory