blob: 9d53ad311bf435324ecd841597a6d16e9dde0a86 [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
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020011#ifndef API_ORTC_PACKETTRANSPORTINTERFACE_H_
12#define API_ORTC_PACKETTRANSPORTINTERFACE_H_
deadbeefe814a0d2017-02-25 18:15:09 -080013
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
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020038#endif // API_ORTC_PACKETTRANSPORTINTERFACE_H_