Move KeyValueStore to libchromeos

KeyValueStore is a key-value dictionary used to access and store settings
in a .conf file. It supports bool and strings only.

BUG=chromium:416932
TEST=FEATURES=test emerge-link libchromeos update_engine

Change-Id: I34a3add5536588ea1025976de659ad77ac6d8b39
Reviewed-on: https://chromium-review.googlesource.com/219552
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Reviewed-by: David Pursell <dpursell@chromium.org>
Commit-Queue: Alex Deymo <deymo@chromium.org>
Tested-by: Alex Deymo <deymo@chromium.org>
diff --git a/update_manager/real_config_provider.cc b/update_manager/real_config_provider.cc
index 0e76b73..d986b10 100644
--- a/update_manager/real_config_provider.cc
+++ b/update_manager/real_config_provider.cc
@@ -4,14 +4,15 @@
 
 #include "update_engine/update_manager/real_config_provider.h"
 
+#include <base/files/file_path.h>
 #include <base/logging.h>
+#include <chromeos/key_value_store.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 chromeos::KeyValueStore;
 using std::string;
 
 namespace {
@@ -29,13 +30,14 @@
   KeyValueStore store;
 
   if (hardware_->IsNormalBootMode()) {
-    store.Load(root_prefix_ + kConfigFilePath);
+    store.Load(base::FilePath(root_prefix_ + kConfigFilePath));
   } else {
-    if (store.Load(root_prefix_ + chromeos_update_engine::kStatefulPartition +
-                   kConfigFilePath)) {
+    if (store.Load(base::FilePath(root_prefix_ +
+                                  chromeos_update_engine::kStatefulPartition +
+                                  kConfigFilePath))) {
       LOG(INFO) << "UpdateManager Config loaded from stateful partition.";
     } else {
-      store.Load(root_prefix_ + kConfigFilePath);
+      store.Load(base::FilePath(root_prefix_ + kConfigFilePath));
     }
   }