deadbeef | 1dcb164 | 2017-03-30 04:08:16 | [diff] [blame] | 1 | /* |
| 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 Anton | 10542f2 | 2019-01-11 17:11:00 | [diff] [blame] | 11 | #ifndef PC_ICE_SERVER_PARSING_H_ |
| 12 | #define PC_ICE_SERVER_PARSING_H_ |
deadbeef | 1dcb164 | 2017-03-30 04:08:16 | [diff] [blame] | 13 | |
| 14 | #include <vector> |
| 15 | |
Steve Anton | 10542f2 | 2019-01-11 17:11:00 | [diff] [blame] | 16 | #include "api/peer_connection_interface.h" |
| 17 | #include "api/rtc_error.h" |
Yves Gerey | 3e70781 | 2018-11-28 15:47:49 | [diff] [blame] | 18 | #include "p2p/base/port.h" |
Steve Anton | 10542f2 | 2019-01-11 17:11:00 | [diff] [blame] | 19 | #include "p2p/base/port_allocator.h" |
Mirko Bonadei | 66e7679 | 2019-04-02 09:33:59 | [diff] [blame] | 20 | #include "rtc_base/system/rtc_export.h" |
deadbeef | 1dcb164 | 2017-03-30 04:08:16 | [diff] [blame] | 21 | |
| 22 | namespace webrtc { |
| 23 | |
Artem Titov | 880fa81 | 2021-07-30 20:30:23 | [diff] [blame] | 24 | // Parses the URLs for each server in `servers` to build `stun_servers` and |
| 25 | // `turn_servers`. Can return SYNTAX_ERROR if the URL is malformed, or |
| 26 | // INVALID_PARAMETER if a TURN server is missing `username` or `password`. |
deadbeef | 1dcb164 | 2017-03-30 04:08:16 | [diff] [blame] | 27 | // |
| 28 | // Intended to be used to convert/validate the servers passed into a |
| 29 | // PeerConnection through RTCConfiguration. |
Philipp Hancke | 633dc2f | 2022-10-12 08:16:14 | [diff] [blame] | 30 | RTC_EXPORT RTCError |
| 31 | ParseIceServersOrError(const PeerConnectionInterface::IceServers& servers, |
| 32 | cricket::ServerAddresses* stun_servers, |
| 33 | std::vector<cricket::RelayServerConfig>* turn_servers); |
| 34 | |
| 35 | [[deprecated("use ParseIceServersOrError")]] RTC_EXPORT RTCErrorType |
Mirko Bonadei | 66e7679 | 2019-04-02 09:33:59 | [diff] [blame] | 36 | ParseIceServers(const PeerConnectionInterface::IceServers& servers, |
| 37 | cricket::ServerAddresses* stun_servers, |
| 38 | std::vector<cricket::RelayServerConfig>* turn_servers); |
deadbeef | 1dcb164 | 2017-03-30 04:08:16 | [diff] [blame] | 39 | |
| 40 | } // namespace webrtc |
| 41 | |
Steve Anton | 10542f2 | 2019-01-11 17:11:00 | [diff] [blame] | 42 | #endif // PC_ICE_SERVER_PARSING_H_ |