| // Copyright 2015 The Weave Authors. All rights reserved. | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | #include "src/privet/device_ui_kind.h" | 
 |  | 
 | #include <unordered_map> | 
 |  | 
 | #include <base/logging.h> | 
 |  | 
 | namespace weave { | 
 | namespace privet { | 
 |  | 
 | std::string GetDeviceUiKind(const std::string& manifest_id) { | 
 |  | 
 |   // Map of device short id to ui device kind | 
 |   static const std::unordered_map<std::string, std::string> device_kind_map = { | 
 |     {"AC", "accessPoint"}, | 
 |     {"AK", "aggregator"}, | 
 |     {"AM", "camera"}, | 
 |     {"AB", "developmentBoard"}, | 
 |     {"AH", "acHeating"}, | 
 |     {"AI", "light"}, | 
 |     {"AO", "lock"}, | 
 |     {"AE", "printer"}, | 
 |     {"AF", "scanner"}, | 
 |     {"AD", "speaker"}, | 
 |     {"AL", "storage"}, | 
 |     {"AJ", "toy"}, | 
 |     {"AA", "vendor"}, | 
 |     {"AN", "video"} | 
 |   }; | 
 |  | 
 |   CHECK_EQ(5u, manifest_id.size()); | 
 |   std::string short_id = manifest_id.substr(0, 2); | 
 |  | 
 |   auto iter = device_kind_map.find(short_id); | 
 |   if (iter != device_kind_map.end()) | 
 |     return iter->second; | 
 |  | 
 |   LOG(FATAL) << "Invalid model id: " << manifest_id; | 
 |   return std::string(); | 
 | } | 
 |  | 
 | }  // namespace privet | 
 | }  // namespace weave |