Recognize additional adapter types on Windows
Specifically, Ethernet, Wi-Fi and cellular interfaces. Note that this only affects native applications, as chromium already has its own code for this: https://cs.chromium.org/chromium/src/net/base/network_interfaces_win.cc?l=29&rcl=568ba7132833eea41fc863dd41c377928f49fa51 Which WebRTC accesses through "IpcNetworkManager". Bug: webrtc:3149, webrtc:6588 Change-Id: I347f2734d95ea24cea3f89e6ed5bf2d135a9fc77 Reviewed-on: https://webrtc-review.googlesource.com/76622 Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org> Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org> Cr-Commit-Position: refs/heads/master@{#23332}
This commit is contained in:
committed by
Commit Bot
parent
c941b7e28d
commit
0ce868c60e
@ -708,9 +708,29 @@ bool BasicNetworkManager::CreateNetworks(bool include_ignored,
|
||||
auto existing_network = current_networks.find(key);
|
||||
if (existing_network == current_networks.end()) {
|
||||
AdapterType adapter_type = ADAPTER_TYPE_UNKNOWN;
|
||||
if (adapter_addrs->IfType == IF_TYPE_SOFTWARE_LOOPBACK) {
|
||||
// TODO(phoglund): Need to recognize other types as well.
|
||||
adapter_type = ADAPTER_TYPE_LOOPBACK;
|
||||
switch (adapter_addrs->IfType) {
|
||||
case IF_TYPE_SOFTWARE_LOOPBACK:
|
||||
adapter_type = ADAPTER_TYPE_LOOPBACK;
|
||||
break;
|
||||
case IF_TYPE_ETHERNET_CSMACD:
|
||||
case IF_TYPE_ETHERNET_3MBIT:
|
||||
case IF_TYPE_IEEE80212:
|
||||
case IF_TYPE_FASTETHER:
|
||||
case IF_TYPE_FASTETHER_FX:
|
||||
case IF_TYPE_GIGABITETHERNET:
|
||||
adapter_type = ADAPTER_TYPE_ETHERNET;
|
||||
break;
|
||||
case IF_TYPE_IEEE80211:
|
||||
adapter_type = ADAPTER_TYPE_WIFI;
|
||||
break;
|
||||
case IF_TYPE_WWANPP:
|
||||
case IF_TYPE_WWANPP2:
|
||||
adapter_type = ADAPTER_TYPE_CELLULAR;
|
||||
break;
|
||||
default:
|
||||
// TODO(phoglund): Need to recognize other types as well.
|
||||
adapter_type = ADAPTER_TYPE_UNKNOWN;
|
||||
break;
|
||||
}
|
||||
std::unique_ptr<Network> network(new Network(
|
||||
name, description, prefix, prefix_length, adapter_type));
|
||||
|
||||
Reference in New Issue
Block a user