blob: 487588ebc489778eebf9a3861e332b19916ae4ad [file] [log] [blame]
hjonaa32c3e2015-12-13 19:58:11 -08001/*
2 * Copyright 2015 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#import <Foundation/Foundation.h>
12
13NS_ASSUME_NONNULL_BEGIN
14
15@interface RTCIceServer : NSObject
16
17/** URI(s) for this server represented as NSStrings. */
Jon Hjelle32e0c012016-03-08 16:04:46 -080018@property(nonatomic, readonly) NSArray<NSString *> *urlStrings;
hjonaa32c3e2015-12-13 19:58:11 -080019
20/** Username to use if this RTCIceServer object is a TURN server. */
hjona2f77982016-03-04 07:09:09 -080021@property(nonatomic, readonly, nullable) NSString *username;
hjonaa32c3e2015-12-13 19:58:11 -080022
23/** Credential to use if this RTCIceServer object is a TURN server. */
hjona2f77982016-03-04 07:09:09 -080024@property(nonatomic, readonly, nullable) NSString *credential;
hjonaa32c3e2015-12-13 19:58:11 -080025
hjon6b039952016-02-25 12:32:58 -080026- (nonnull instancetype)init NS_UNAVAILABLE;
hjonaa32c3e2015-12-13 19:58:11 -080027
28/** Convenience initializer for a server with no authentication (e.g. STUN). */
Jon Hjelle32e0c012016-03-08 16:04:46 -080029- (instancetype)initWithURLStrings:(NSArray<NSString *> *)urlStrings;
hjonaa32c3e2015-12-13 19:58:11 -080030
31/**
32 * Initialize an RTCIceServer with its associated URLs, optional username,
33 * optional credential, and credentialType.
34 */
Jon Hjelle32e0c012016-03-08 16:04:46 -080035- (instancetype)initWithURLStrings:(NSArray<NSString *> *)urlStrings
36 username:(nullable NSString *)username
37 credential:(nullable NSString *)credential
hjonaa32c3e2015-12-13 19:58:11 -080038 NS_DESIGNATED_INITIALIZER;
39
40@end
41
42NS_ASSUME_NONNULL_END