#include "third_party/blink/public/common/peerconnection/webrtc_ip_handling_policy.h"
#include <string_view>
#include "third_party/blink/public/mojom/peerconnection/webrtc_ip_handling_policy.mojom.h"
namespace blink {
const char kWebRTCIPHandlingDefault[] = "default";
const char kWebRTCIPHandlingDefaultPublicAndPrivateInterfaces[] =
"default_public_and_private_interfaces";
const char kWebRTCIPHandlingDefaultPublicInterfaceOnly[] =
"default_public_interface_only";
const char kWebRTCIPHandlingDisableNonProxiedUdp[] = "disable_non_proxied_udp";
blink::mojom::WebRtcIpHandlingPolicy ToWebRTCIPHandlingPolicy(
std::string_view preference) {
if (preference == kWebRTCIPHandlingDefaultPublicAndPrivateInterfaces) {
return blink::mojom::WebRtcIpHandlingPolicy::
kDefaultPublicAndPrivateInterfaces;
}
if (preference == kWebRTCIPHandlingDefaultPublicInterfaceOnly) {
return blink::mojom::WebRtcIpHandlingPolicy::kDefaultPublicInterfaceOnly;
}
if (preference == kWebRTCIPHandlingDisableNonProxiedUdp) {
return blink::mojom::WebRtcIpHandlingPolicy::kDisableNonProxiedUdp;
}
return blink::mojom::WebRtcIpHandlingPolicy::kDefault;
}
const char* ToString(blink::mojom::WebRtcIpHandlingPolicy policy) {
switch (policy) {
case blink::mojom::WebRtcIpHandlingPolicy::kDefault:
return kWebRTCIPHandlingDefault;
case blink::mojom::WebRtcIpHandlingPolicy::
kDefaultPublicAndPrivateInterfaces:
return kWebRTCIPHandlingDefaultPublicAndPrivateInterfaces;
case blink::mojom::WebRtcIpHandlingPolicy::kDefaultPublicInterfaceOnly:
return kWebRTCIPHandlingDefaultPublicInterfaceOnly;
case blink::mojom::WebRtcIpHandlingPolicy::kDisableNonProxiedUdp:
return kWebRTCIPHandlingDisableNonProxiedUdp;
}
}
}