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_);
diff --git a/buffet/device_registration_info.h b/buffet/device_registration_info.h index fad4dfd..91b897c 100644 --- a/buffet/device_registration_info.h +++ b/buffet/device_registration_info.h
@@ -180,6 +180,8 @@ std::string device_kind_ = "vendor"; std::string name_ = "coffee_pot"; std::string display_name_ = "Coffee Pot"; + std::string description_ = "Easy to clean"; + std::string location_ = "Kitchen"; // HTTP transport used for communications. std::shared_ptr<chromeos::http::Transport> transport_;
diff --git a/buffet/device_registration_info_unittest.cc b/buffet/device_registration_info_unittest.cc index dd8ffbe..38ada93 100644 --- a/buffet/device_registration_info_unittest.cc +++ b/buffet/device_registration_info_unittest.cc
@@ -290,6 +290,12 @@ EXPECT_EQ(test_data::kClientId, value); EXPECT_TRUE(json->GetString("deviceDraft.deviceKind", &value)); EXPECT_EQ("vendor", value); + EXPECT_TRUE(json->GetString("deviceDraft.description", &value)); + EXPECT_EQ("Easy to clean", value); + EXPECT_TRUE(json->GetString("deviceDraft.location", &value)); + EXPECT_EQ("Kitchen", value); + EXPECT_TRUE(json->GetString("deviceDraft.displayName", &value)); + EXPECT_EQ("Coffee Pot", value); base::DictionaryValue* commandDefs = nullptr; EXPECT_TRUE(json->GetDictionary("deviceDraft.commandDefs", &commandDefs)); EXPECT_FALSE(commandDefs->empty());
diff --git a/buffet/device_registration_storage_keys.h b/buffet/device_registration_storage_keys.h index 2888f5e..d7946bc 100644 --- a/buffet/device_registration_storage_keys.h +++ b/buffet/device_registration_storage_keys.h
@@ -24,6 +24,8 @@ extern const char kDeviceKind[]; extern const char kName[]; extern const char kDisplayName[]; +extern const char kDescription[]; +extern const char kLocation[]; } // namespace storage_keys } // namespace buffet