123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- // Copyright 2018 The Chromium 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 "ash/components/multidevice/software_feature.h"
- #include "base/notreached.h"
- namespace ash::multidevice {
- SoftwareFeature FromCryptAuthFeature(
- cryptauth::SoftwareFeature cryptauth_feature) {
- switch (cryptauth_feature) {
- case cryptauth::SoftwareFeature::BETTER_TOGETHER_HOST:
- return SoftwareFeature::kBetterTogetherHost;
- case cryptauth::SoftwareFeature::BETTER_TOGETHER_CLIENT:
- return SoftwareFeature::kBetterTogetherClient;
- case cryptauth::SoftwareFeature::EASY_UNLOCK_HOST:
- return SoftwareFeature::kSmartLockHost;
- case cryptauth::SoftwareFeature::EASY_UNLOCK_CLIENT:
- return SoftwareFeature::kSmartLockClient;
- case cryptauth::SoftwareFeature::MAGIC_TETHER_HOST:
- return SoftwareFeature::kInstantTetheringHost;
- case cryptauth::SoftwareFeature::MAGIC_TETHER_CLIENT:
- return SoftwareFeature::kInstantTetheringClient;
- case cryptauth::SoftwareFeature::SMS_CONNECT_HOST:
- return SoftwareFeature::kMessagesForWebHost;
- case cryptauth::SoftwareFeature::SMS_CONNECT_CLIENT:
- return SoftwareFeature::kMessagesForWebClient;
- case cryptauth::SoftwareFeature::PHONE_HUB_HOST:
- return SoftwareFeature::kPhoneHubHost;
- case cryptauth::SoftwareFeature::PHONE_HUB_CLIENT:
- return SoftwareFeature::kPhoneHubClient;
- case cryptauth::SoftwareFeature::WIFI_SYNC_HOST:
- return SoftwareFeature::kWifiSyncHost;
- case cryptauth::SoftwareFeature::WIFI_SYNC_CLIENT:
- return SoftwareFeature::kWifiSyncClient;
- case cryptauth::SoftwareFeature::ECHE_HOST:
- return SoftwareFeature::kEcheHost;
- case cryptauth::SoftwareFeature::ECHE_CLIENT:
- return SoftwareFeature::kEcheClient;
- case cryptauth::SoftwareFeature::PHONE_HUB_CAMERA_ROLL_HOST:
- return SoftwareFeature::kPhoneHubCameraRollHost;
- case cryptauth::SoftwareFeature::PHONE_HUB_CAMERA_ROLL_CLIENT:
- return SoftwareFeature::kPhoneHubCameraRollClient;
- case cryptauth::SoftwareFeature::UNKNOWN_FEATURE:
- NOTREACHED();
- }
- NOTREACHED();
- return SoftwareFeature::kBetterTogetherHost;
- }
- cryptauth::SoftwareFeature ToCryptAuthFeature(
- SoftwareFeature multidevice_feature) {
- // Note: No default case needed since SoftwareFeature is an enum class.
- switch (multidevice_feature) {
- case SoftwareFeature::kBetterTogetherHost:
- return cryptauth::SoftwareFeature::BETTER_TOGETHER_HOST;
- case SoftwareFeature::kBetterTogetherClient:
- return cryptauth::SoftwareFeature::BETTER_TOGETHER_CLIENT;
- case SoftwareFeature::kSmartLockHost:
- return cryptauth::SoftwareFeature::EASY_UNLOCK_HOST;
- case SoftwareFeature::kSmartLockClient:
- return cryptauth::SoftwareFeature::EASY_UNLOCK_CLIENT;
- case SoftwareFeature::kInstantTetheringHost:
- return cryptauth::SoftwareFeature::MAGIC_TETHER_HOST;
- case SoftwareFeature::kInstantTetheringClient:
- return cryptauth::SoftwareFeature::MAGIC_TETHER_CLIENT;
- case SoftwareFeature::kMessagesForWebHost:
- return cryptauth::SoftwareFeature::SMS_CONNECT_HOST;
- case SoftwareFeature::kMessagesForWebClient:
- return cryptauth::SoftwareFeature::SMS_CONNECT_CLIENT;
- case SoftwareFeature::kPhoneHubHost:
- return cryptauth::SoftwareFeature::PHONE_HUB_HOST;
- case SoftwareFeature::kPhoneHubClient:
- return cryptauth::SoftwareFeature::PHONE_HUB_CLIENT;
- case SoftwareFeature::kWifiSyncHost:
- return cryptauth::SoftwareFeature::WIFI_SYNC_HOST;
- case SoftwareFeature::kWifiSyncClient:
- return cryptauth::SoftwareFeature::WIFI_SYNC_CLIENT;
- case SoftwareFeature::kEcheHost:
- return cryptauth::SoftwareFeature::ECHE_HOST;
- case SoftwareFeature::kEcheClient:
- return cryptauth::SoftwareFeature::ECHE_CLIENT;
- case SoftwareFeature::kPhoneHubCameraRollHost:
- return cryptauth::SoftwareFeature::PHONE_HUB_CAMERA_ROLL_HOST;
- case SoftwareFeature::kPhoneHubCameraRollClient:
- return cryptauth::SoftwareFeature::PHONE_HUB_CAMERA_ROLL_CLIENT;
- }
- NOTREACHED();
- return cryptauth::SoftwareFeature::BETTER_TOGETHER_HOST;
- }
- std::ostream& operator<<(std::ostream& stream, const SoftwareFeature& feature) {
- switch (feature) {
- case SoftwareFeature::kBetterTogetherHost:
- stream << "[Better Together host]";
- break;
- case SoftwareFeature::kBetterTogetherClient:
- stream << "[Better Together client]";
- break;
- case SoftwareFeature::kSmartLockHost:
- stream << "[Smart Lock host]";
- break;
- case SoftwareFeature::kSmartLockClient:
- stream << "[Smart Lock client]";
- break;
- case SoftwareFeature::kInstantTetheringHost:
- stream << "[Instant Tethering host]";
- break;
- case SoftwareFeature::kInstantTetheringClient:
- stream << "[Instant Tethering client]";
- break;
- case SoftwareFeature::kMessagesForWebHost:
- stream << "[Messages for Web host]";
- break;
- case SoftwareFeature::kMessagesForWebClient:
- stream << "[Messages for Web client]";
- break;
- case SoftwareFeature::kPhoneHubHost:
- stream << "[Phone Hub host]";
- break;
- case SoftwareFeature::kPhoneHubClient:
- stream << "[Phone Hub client]";
- break;
- case SoftwareFeature::kWifiSyncHost:
- stream << "[Wifi Sync host]";
- break;
- case SoftwareFeature::kWifiSyncClient:
- stream << "[Wifi Sync client]";
- break;
- case SoftwareFeature::kEcheHost:
- stream << "[Eche host]";
- break;
- case SoftwareFeature::kEcheClient:
- stream << "[Eche client]";
- break;
- case SoftwareFeature::kPhoneHubCameraRollHost:
- stream << "[Phone Hub Camera Roll host]";
- break;
- case SoftwareFeature::kPhoneHubCameraRollClient:
- stream << "[Phone Hub Camera Roll client]";
- break;
- }
- return stream;
- }
- } // namespace ash::multidevice
|