// 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 = { // clang-format off {"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"}, // clang-format on }; 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