blob: 8fef2701c2e8d5d66e8fcf24abcaea8bd53edd58 [file] [log] [blame]
deadbeefe814a0d2017-02-26 02:15:091/*
2 * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
Steve Anton10542f22019-01-11 17:11:0011#ifndef API_ORTC_PACKET_TRANSPORT_INTERFACE_H_
12#define API_ORTC_PACKET_TRANSPORT_INTERFACE_H_
deadbeefe814a0d2017-02-26 02:15:0913
14namespace rtc {
15
16class PacketTransportInternal;
17
18} // namespace rtc
19
20namespace webrtc {
21
22// Base class for different packet-based transports.
23class PacketTransportInterface {
24 public:
25 virtual ~PacketTransportInterface() {}
26
27 protected:
28 // Only for internal use. Returns a pointer to an internal interface, for use
29 // by the implementation.
30 virtual rtc::PacketTransportInternal* GetInternal() = 0;
31
32 // Classes that can use this internal interface.
33 friend class RtpTransportControllerAdapter;
Zhi Huange830e682018-03-30 17:48:3534 friend class RtpTransportAdapter;
deadbeefe814a0d2017-02-26 02:15:0935};
36
37} // namespace webrtc
38
Steve Anton10542f22019-01-11 17:11:0039#endif // API_ORTC_PACKET_TRANSPORT_INTERFACE_H_