1 // Copyright 2019 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "chromeos/services/network_config/public/mojom/cros_network_config_mojom_traits.h" 6 7 #include "base/notreached.h" 8 9 namespace mojo { 10 11 chromeos::network_config::mojom::ProxyMode 12 EnumTraits<chromeos::network_config::mojom::ProxyMode, ToMojom(ProxyPrefs::ProxyMode input)13 ProxyPrefs::ProxyMode>::ToMojom(ProxyPrefs::ProxyMode input) { 14 switch (input) { 15 case ProxyPrefs::MODE_DIRECT: 16 return chromeos::network_config::mojom::ProxyMode::kDirect; 17 case ProxyPrefs::MODE_AUTO_DETECT: 18 return chromeos::network_config::mojom::ProxyMode::kAutoDetect; 19 case ProxyPrefs::MODE_PAC_SCRIPT: 20 return chromeos::network_config::mojom::ProxyMode::kPacScript; 21 case ProxyPrefs::MODE_FIXED_SERVERS: 22 return chromeos::network_config::mojom::ProxyMode::kFixedServers; 23 case ProxyPrefs::MODE_SYSTEM: 24 return chromeos::network_config::mojom::ProxyMode::kSystem; 25 case ProxyPrefs::kModeCount: 26 break; 27 } 28 29 NOTREACHED(); 30 return chromeos::network_config::mojom::ProxyMode::kDirect; 31 } 32 33 bool EnumTraits<chromeos::network_config::mojom::ProxyMode, 34 ProxyPrefs::ProxyMode>:: FromMojom(chromeos::network_config::mojom::ProxyMode input,ProxyPrefs::ProxyMode * out)35 FromMojom(chromeos::network_config::mojom::ProxyMode input, 36 ProxyPrefs::ProxyMode* out) { 37 switch (input) { 38 case chromeos::network_config::mojom::ProxyMode::kDirect: 39 *out = ProxyPrefs::MODE_DIRECT; 40 return true; 41 case chromeos::network_config::mojom::ProxyMode::kAutoDetect: 42 *out = ProxyPrefs::MODE_AUTO_DETECT; 43 return true; 44 case chromeos::network_config::mojom::ProxyMode::kPacScript: 45 *out = ProxyPrefs::MODE_PAC_SCRIPT; 46 return true; 47 case chromeos::network_config::mojom::ProxyMode::kFixedServers: 48 *out = ProxyPrefs::MODE_FIXED_SERVERS; 49 return true; 50 case chromeos::network_config::mojom::ProxyMode::kSystem: 51 *out = ProxyPrefs::MODE_SYSTEM; 52 return true; 53 } 54 55 NOTREACHED(); 56 return false; 57 } 58 59 } // namespace mojo 60