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/real_shill_provider.h b/policy_manager/real_shill_provider.h
index f50f2ac..ffb6b0c 100644
--- a/policy_manager/real_shill_provider.h
+++ b/policy_manager/real_shill_provider.h
@@ -56,10 +56,10 @@
   // |*result_p|. Returns |true| on success.
   bool GetProperties(DBusGProxy* proxy, GHashTable** result_p);
 
-  typedef struct {
+  struct ConnStrToType {
     const char *str;
     ConnectionType type;
-  } ConnStrToType;
+  };
 
   // A mapping from shill connection type strings to enum values.
   static const ConnStrToType shill_conn_str_to_type[];