// Copyright 2018 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_PEERCONNECTION_ADAPTERS_ICE_TRANSPORT_ADAPTER_H_ #define THIRD_PARTY_BLINK_RENDERER_MODULES_PEERCONNECTION_ADAPTERS_ICE_TRANSPORT_ADAPTER_H_ #include "third_party/blink/public/platform/web_vector.h" #include "third_party/blink/renderer/platform/wtf/allocator/allocator.h" #include "third_party/blink/renderer/platform/wtf/vector.h" #include "third_party/webrtc/p2p/base/p2p_transport_channel.h" namespace blink { // Defines the ICE candidate policy the browser uses to surface the permitted // candidates to the application. // https://w3c.github.io/webrtc-pc/#dom-rtcicetransportpolicy enum class IceTransportPolicy { … }; // The IceTransportAdapter is the API used by the RTCIceTransport Blink binding // to interact with the ICE implementation. It exactly mirrors the requirements // of the RTCIceTransport: each JavaScript method that must interact with the // ICE implementation should map to exactly one method call on this interface. // This interface is designed to be fully asynchronous; all methods are void and // callbacks occur via the Delegate (implemented by the client). // // The ICE Agent is immediately active once this object has been constructed. It // can be stopped by deleting the IceTransportAdapter. class IceTransportAdapter { … }; } // namespace blink #endif // THIRD_PARTY_BLINK_RENDERER_MODULES_PEERCONNECTION_ADAPTERS_ICE_TRANSPORT_ADAPTER_H_