Rename the PolicyManager to UpdateManager.
This change renames the PolicyManager class, directory, tests, etc,
to avoid confusion with libpolicy and its classes.
BUG=chromium:373551
TEST=emerged on link.
CQ-DEPEND=CL:I43081673c7ba409f02273197da7915537bde39c6
Change-Id: Iffa76caa3b95ecbbdba87ab01006d1d8ce35a27f
Reviewed-on: https://chromium-review.googlesource.com/201876
Tested-by: Alex Deymo <deymo@chromium.org>
Reviewed-by: David Zeuthen <zeuthen@chromium.org>
Commit-Queue: Alex Deymo <deymo@chromium.org>
diff --git a/update_manager/real_config_provider.cc b/update_manager/real_config_provider.cc
new file mode 100644
index 0000000..0e76b73
--- /dev/null
+++ b/update_manager/real_config_provider.cc
@@ -0,0 +1,51 @@
+// Copyright 2014 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "update_engine/update_manager/real_config_provider.h"
+
+#include <base/logging.h>
+
+#include "update_engine/constants.h"
+#include "update_engine/simple_key_value_store.h"
+#include "update_engine/update_manager/generic_variables.h"
+#include "update_engine/utils.h"
+
+using chromeos_update_engine::KeyValueStore;
+using std::string;
+
+namespace {
+
+const char* kConfigFilePath = "/etc/update_manager.conf";
+
+// Config options:
+const char* kConfigOptsIsOOBEEnabled = "is_oobe_enabled";
+
+} // namespace
+
+namespace chromeos_update_manager {
+
+bool RealConfigProvider::Init() {
+ KeyValueStore store;
+
+ if (hardware_->IsNormalBootMode()) {
+ store.Load(root_prefix_ + kConfigFilePath);
+ } else {
+ if (store.Load(root_prefix_ + chromeos_update_engine::kStatefulPartition +
+ kConfigFilePath)) {
+ LOG(INFO) << "UpdateManager Config loaded from stateful partition.";
+ } else {
+ store.Load(root_prefix_ + kConfigFilePath);
+ }
+ }
+
+ bool is_oobe_enabled;
+ if (!store.GetBoolean(kConfigOptsIsOOBEEnabled, &is_oobe_enabled))
+ is_oobe_enabled = true; // Default value.
+ var_is_oobe_enabled_.reset(
+ new ConstCopyVariable<bool>(kConfigOptsIsOOBEEnabled, is_oobe_enabled));
+
+ return true;
+}
+
+} // namespace chromeos_update_manager