buffet: Migrate StateChange to native_types::Object.

chromeos::Any is convenient for DBus, but the rest of
the system prefers to work with higher level abstractions.

Also it is somewhat too late to analyze Any when processing
StateChange, as to do that properly one needs full package
definition.

BUG=chromium:434767
TEST=cros_workon_make --test buffet

Change-Id: Iaf12c2e8e7e8f9c84f6492d9fbd8a495be3c0a94
Reviewed-on: https://chromium-review.googlesource.com/231035
Tested-by: Anton Muhin <antonm@chromium.org>
Reviewed-by: Anton Muhin <antonm@chromium.org>
Commit-Queue: Anton Muhin <antonm@chromium.org>
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
diff --git a/buffet/states/state_change_queue.h b/buffet/states/state_change_queue.h
index 2ca46e6..9181ef4 100644
--- a/buffet/states/state_change_queue.h
+++ b/buffet/states/state_change_queue.h
@@ -24,7 +24,7 @@
   bool IsEmpty() const override { return state_changes_.empty(); }
   bool NotifyPropertiesUpdated(
       base::Time timestamp,
-      chromeos::VariantDictionary changed_properties) override;
+      native_types::Object changed_properties) override;
   std::vector<StateChange> GetAndClearRecordedStateChanges() override;
 
  private:
@@ -38,7 +38,7 @@
   const size_t max_queue_size_;
 
   // Accumulated list of device state change notifications.
-  std::map<base::Time, chromeos::VariantDictionary> state_changes_;
+  std::map<base::Time, native_types::Object> state_changes_;
 
   DISALLOW_COPY_AND_ASSIGN(StateChangeQueue);
 };