buffet: Device registration accepts "description", "location" and "display_name".

This values provided by device client by privet API.

BUG=chromium:435687
TEST=unittests

Change-Id: I47ce4a932739c27a3b8dc23f8ec404e9814c3eeb
Reviewed-on: https://chromium-review.googlesource.com/231437
Reviewed-by: Anton Muhin <antonm@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
Tested-by: Vitaly Buka <vitalybuka@chromium.org>
diff --git a/buffet/device_registration_info.cc b/buffet/device_registration_info.cc
index cd3cd2b..a54825c 100644
--- a/buffet/device_registration_info.cc
+++ b/buffet/device_registration_info.cc
@@ -47,6 +47,8 @@
 const char kDeviceKind[]    = "device_kind";
 const char kName[]          = "name";
 const char kDisplayName[]   = "display_name";
+const char kDescription[]   = "description";
+const char kLocation[]      = "location";
 
 }  // namespace storage_keys
 }  // namespace buffet
@@ -337,6 +339,10 @@
   resource->SetString("name", name_);
   if (!display_name_.empty())
     resource->SetString("displayName", display_name_);
+  if (!description_.empty())
+    resource->SetString("description", description_);
+  if (!location_.empty())
+    resource->SetString("location", location_);
   resource->SetString("channel.supportedType", "xmpp");
   resource->Set("commandDefs", commands.release());
   resource->Set("state", state.release());
@@ -389,6 +395,8 @@
   GetParamValue(params, storage_keys::kDeviceKind, &device_kind_);
   GetParamValue(params, storage_keys::kName, &name_);
   GetParamValue(params, storage_keys::kDisplayName, &display_name_);
+  GetParamValue(params, storage_keys::kDescription, &description_);
+  GetParamValue(params, storage_keys::kLocation, &location_);
   GetParamValue(params, storage_keys::kOAuthURL, &oauth_url_);
   GetParamValue(params, storage_keys::kServiceURL, &service_url_);