PM: Add an update engine provider.
The UpdaterProvider exports variables for querying the status of an
update process and related settings. Includes a concrete implementation
(RealUpdaterProvider), which currently links directly with update engine
code and pulls information through the SystemState object. Also
included is a fake implementation (FakeUpdaterProvider) for testing
purposes.
BUG=chromium:346914
TEST=Unit tests.
Change-Id: I6ed5b40f21e43537e78aebf4217d811e149f745b
Reviewed-on: https://chromium-review.googlesource.com/192232
Reviewed-by: Gilad Arnold <garnold@chromium.org>
Commit-Queue: Gilad Arnold <garnold@chromium.org>
Tested-by: Gilad Arnold <garnold@chromium.org>
diff --git a/policy_manager/fake_state.h b/policy_manager/fake_state.h
index 2d5b9c9..4e4ead6 100644
--- a/policy_manager/fake_state.h
+++ b/policy_manager/fake_state.h
@@ -9,6 +9,7 @@
#include "update_engine/policy_manager/fake_shill_provider.h"
#include "update_engine/policy_manager/fake_system_provider.h"
#include "update_engine/policy_manager/fake_time_provider.h"
+#include "update_engine/policy_manager/fake_updater_provider.h"
#include "update_engine/policy_manager/state.h"
namespace chromeos_policy_manager {
@@ -26,14 +27,21 @@
virtual FakeRandomProvider* random_provider() override {
return reinterpret_cast<FakeRandomProvider*>(State::random_provider());
}
+
virtual FakeShillProvider* shill_provider() override {
return reinterpret_cast<FakeShillProvider*>(State::shill_provider());
}
+
+ virtual FakeSystemProvider* system_provider() override {
+ return reinterpret_cast<FakeSystemProvider*>(State::system_provider());
+ }
+
virtual FakeTimeProvider* time_provider() override {
return reinterpret_cast<FakeTimeProvider*>(State::time_provider());
}
- virtual FakeSystemProvider* system_provider() override {
- return reinterpret_cast<FakeSystemProvider*>(State::system_provider());
+
+ virtual FakeUpdaterProvider* updater_provider() override {
+ return reinterpret_cast<FakeUpdaterProvider*>(State::updater_provider());
}
private: