Remove object schema parsing in state definition

State definition schema is no longer parsed by libweave for semantic
understanding. We just keep it around for clients who explicitly
as for it, but we no longer use the schema to validate the state
values. They are now stored as an opaque JSON object.

BUG: 25841230

Change-Id: Ib54b3d1f52dd8c63e9fa74afc174adeb5ca56d4d
Reviewed-on: https://weave-review.googlesource.com/1627
Reviewed-by: Vitaly Buka <vitalybuka@google.com>
diff --git a/src/states/state_change_queue.h b/src/states/state_change_queue.h
index 00b827f..314f746 100644
--- a/src/states/state_change_queue.h
+++ b/src/states/state_change_queue.h
@@ -21,8 +21,9 @@
 
   // Overrides from StateChangeQueueInterface.
   bool IsEmpty() const override { return state_changes_.empty(); }
-  bool NotifyPropertiesUpdated(base::Time timestamp,
-                               ValueMap changed_properties) override;
+  bool NotifyPropertiesUpdated(
+      base::Time timestamp,
+      std::unique_ptr<base::DictionaryValue> changed_properties) override;
   std::vector<StateChange> GetAndClearRecordedStateChanges() override;
   UpdateID GetLastStateChangeId() const override { return last_change_id_; }
   Token AddOnStateUpdatedCallback(
@@ -35,7 +36,7 @@
   const size_t max_queue_size_;
 
   // Accumulated list of device state change notifications.
-  std::map<base::Time, ValueMap> state_changes_;
+  std::map<base::Time, std::unique_ptr<base::DictionaryValue>> state_changes_;
 
   // An ID of last state change update. Each NotifyPropertiesUpdated()
   // invocation increments this value by 1.