update_engine: UM: UpdateCheckAllowed returns target version prefix.
This piece of information is also provided by the device policy and
needed when performing the update check. Borrows logic currently in
UpdateAttempter::CalculateUpdateParams().
BUG=chromium:358269
TEST=Unit tests.
Change-Id: I5259404df1763be8944b445d51e1fafbca946306
Reviewed-on: https://chromium-review.googlesource.com/209228
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Reviewed-by: Alex Deymo <deymo@chromium.org>
Tested-by: Gilad Arnold <garnold@chromium.org>
Commit-Queue: Gilad Arnold <garnold@chromium.org>
diff --git a/update_manager/chromeos_policy.cc b/update_manager/chromeos_policy.cc
index 7032074..af1d8ac 100644
--- a/update_manager/chromeos_policy.cc
+++ b/update_manager/chromeos_policy.cc
@@ -155,6 +155,7 @@
// Set the default return values.
result->updates_enabled = true;
result->target_channel.clear();
+ result->target_version_prefix.clear();
result->is_interactive = false;
DevicePolicyProvider* const dp_provider = state->device_policy_provider();
@@ -179,6 +180,12 @@
if (update_disabled_p && *update_disabled_p)
return EvalStatus::kAskMeAgainLater;
+ // Determine whether a target version prefix is dictated by policy.
+ const string* target_version_prefix_p = ec->GetValue(
+ dp_provider->var_target_version_prefix());
+ if (target_version_prefix_p)
+ result->target_version_prefix = *target_version_prefix_p;
+
// Determine whether a target channel is dictated by policy.
const bool* release_channel_delegated_p = ec->GetValue(
dp_provider->var_release_channel_delegated());