Create a PolicyManager instance on the SystemState.

This patch creates the PolicyManager object on the update engine's
SystemState class, which aggregates all the singleton classes.

This patch doesn't add any functionality, other than initialize and
destroy the PolicyManager, State and Providers from the SystemState.

BUG=chromium:354079
TEST=Build.

Change-Id: Ib06d9c3d24926eaca43de2d11770ef6da7d16985
Reviewed-on: https://chromium-review.googlesource.com/191502
Reviewed-by: Gilad Arnold <garnold@chromium.org>
Tested-by: Alex Deymo <deymo@chromium.org>
Commit-Queue: Alex Deymo <deymo@chromium.org>
diff --git a/real_system_state.cc b/real_system_state.cc
index b554eb4..936e819 100644
--- a/real_system_state.cc
+++ b/real_system_state.cc
@@ -2,11 +2,13 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "update_engine/real_system_state.h"
+
 #include <base/file_util.h>
 #include <base/time/time.h>
 
 #include "update_engine/constants.h"
-#include "update_engine/real_system_state.h"
+#include "update_engine/policy_manager/state_factory.h"
 #include "update_engine/utils.h"
 
 namespace chromeos_update_engine {
@@ -44,6 +46,10 @@
   p2p_manager_.reset(P2PManager::Construct(NULL, &prefs_, "cros_au",
                                            kMaxP2PFilesToKeep));
 
+  // Initialize the PolicyManager using the default State Factory.
+  policy_manager_.Init(
+      chromeos_policy_manager::DefaultStateFactory(&dbus_, &clock_));
+
   if (!payload_state_.Initialize(this))
     return false;