PM: Make State an abstract interface.
Similar to CL:196656, move getters/variables to concrete
subclasses. In this case, also introduce a RealState type to achieve
this.
BUG=chromium:364763
TEST=Unit tests pass.
Change-Id: Ic12cd872e576c9690d32359474f3528cf706633d
Reviewed-on: https://chromium-review.googlesource.com/196885
Reviewed-by: David Zeuthen <zeuthen@chromium.org>
Commit-Queue: David Zeuthen <zeuthen@chromium.org>
Tested-by: David Zeuthen <zeuthen@chromium.org>
diff --git a/policy_manager/state_factory.cc b/policy_manager/state_factory.cc
index 5866a12..f9054de 100644
--- a/policy_manager/state_factory.cc
+++ b/policy_manager/state_factory.cc
@@ -11,6 +11,7 @@
#include "update_engine/policy_manager/real_config_provider.h"
#include "update_engine/policy_manager/real_random_provider.h"
#include "update_engine/policy_manager/real_shill_provider.h"
+#include "update_engine/policy_manager/real_state.h"
#include "update_engine/policy_manager/real_system_provider.h"
#include "update_engine/policy_manager/real_time_provider.h"
#include "update_engine/policy_manager/real_updater_provider.h"
@@ -44,13 +45,13 @@
return NULL;
}
- return new State(config_provider.release(),
- device_policy_provider.release(),
- random_provider.release(),
- shill_provider.release(),
- system_provider.release(),
- time_provider.release(),
- updater_provider.release());
+ return new RealState(config_provider.release(),
+ device_policy_provider.release(),
+ random_provider.release(),
+ shill_provider.release(),
+ system_provider.release(),
+ time_provider.release(),
+ updater_provider.release());
}
} // namespace chromeos_policy_manager