blob: 2677ce62ca3b22208740c51c53858a2ff141ddf2 [file] [log] [blame]
deadbeefe814a0d2017-02-25 18:15:09 -08001/*
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
11#ifndef WEBRTC_API_ORTC_PACKETTRANSPORTINTERFACE_H_
12#define WEBRTC_API_ORTC_PACKETTRANSPORTINTERFACE_H_
13
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;
34};
35
36} // namespace webrtc
37
38#endif // WEBRTC_API_ORTC_PACKETTRANSPORTINTERFACE_H_