Set IOS Wifi interface type based on the interface name.

BUG=webrtc:3149
R=pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/2006893003 .

Cr-Commit-Position: refs/heads/master@{#12939}
This commit is contained in:
Honghai Zhang
2016-05-26 20:30:15 -07:00
parent a0aa87dd85
commit 63ab810ce2
2 changed files with 13 additions and 0 deletions

View File

@ -805,6 +805,13 @@ AdapterType BasicNetworkManager::GetAdapterTypeFromName(
if (strncmp(network_name, "pdp_ip", 6) == 0) {
return ADAPTER_TYPE_CELLULAR;
}
if (strncmp(network_name, "en", 2) == 0) {
// This may not be most accurate because sometimes Ethernet interface
// name also starts with "en" but it is better than showing it as
// "unknown" type.
// TODO(honghaiz): Write a proper IOS network manager.
return ADAPTER_TYPE_WIFI;
}
#elif defined(WEBRTC_ANDROID)
if (strncmp(network_name, "rmnet", 5) == 0 ||
strncmp(network_name, "v4-rmnet", 8) == 0) {

View File

@ -867,6 +867,12 @@ TEST_F(NetworkTest, TestGetAdapterTypeFromNameMatching) {
ClearNetworks(manager);
ReleaseIfAddrs(addr_list);
strcpy(if_name, "en0");
addr_list = InstallIpv6Network(if_name, ipv6_address1, ipv6_mask, manager);
EXPECT_EQ(ADAPTER_TYPE_WIFI, GetAdapterType(manager));
ClearNetworks(manager);
ReleaseIfAddrs(addr_list);
#elif defined(WEBRTC_ANDROID)
char if_name[20] = "rmnet0";
ifaddrs* addr_list =