/* * Copyright 2014 The WebRTC Project Authors. All rights reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ #import #import "sdk/objc/api/peerconnection/RTCIceCandidate.h" #import "sdk/objc/api/peerconnection/RTCSessionDescription.h" typedef enum { kARDSignalingMessageTypeCandidate, kARDSignalingMessageTypeCandidateRemoval, kARDSignalingMessageTypeOffer, kARDSignalingMessageTypeAnswer, kARDSignalingMessageTypeBye, } ARDSignalingMessageType; @interface ARDSignalingMessage : NSObject @property(nonatomic, readonly) ARDSignalingMessageType type; + (ARDSignalingMessage *)messageFromJSONString:(NSString *)jsonString; - (NSData *)JSONData; @end @interface ARDICECandidateMessage : ARDSignalingMessage @property(nonatomic, readonly) RTC_OBJC_TYPE(RTCIceCandidate) * candidate; - (instancetype)initWithCandidate:(RTC_OBJC_TYPE(RTCIceCandidate) *)candidate; @end @interface ARDICECandidateRemovalMessage : ARDSignalingMessage @property(nonatomic, readonly) NSArray *candidates; - (instancetype)initWithRemovedCandidates:(NSArray *)candidates; @end @interface ARDSessionDescriptionMessage : ARDSignalingMessage @property(nonatomic, readonly) RTC_OBJC_TYPE(RTCSessionDescription) * sessionDescription; - (instancetype)initWithDescription:(RTC_OBJC_TYPE(RTCSessionDescription) *)description; @end @interface ARDByeMessage : ARDSignalingMessage @end