Home | History | Annotate | Download | only in AppRTCDemo
      1 /*
      2  *  Copyright 2014 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 
     13 #import "RTCICECandidate.h"
     14 #import "RTCSessionDescription.h"
     15 
     16 typedef enum {
     17   kARDSignalingMessageTypeCandidate,
     18   kARDSignalingMessageTypeOffer,
     19   kARDSignalingMessageTypeAnswer,
     20   kARDSignalingMessageTypeBye,
     21 } ARDSignalingMessageType;
     22 
     23 @interface ARDSignalingMessage : NSObject
     24 
     25 @property(nonatomic, readonly) ARDSignalingMessageType type;
     26 
     27 + (ARDSignalingMessage *)messageFromJSONString:(NSString *)jsonString;
     28 - (NSData *)JSONData;
     29 
     30 @end
     31 
     32 @interface ARDICECandidateMessage : ARDSignalingMessage
     33 
     34 @property(nonatomic, readonly) RTCICECandidate *candidate;
     35 
     36 - (instancetype)initWithCandidate:(RTCICECandidate *)candidate;
     37 
     38 @end
     39 
     40 @interface ARDSessionDescriptionMessage : ARDSignalingMessage
     41 
     42 @property(nonatomic, readonly) RTCSessionDescription *sessionDescription;
     43 
     44 - (instancetype)initWithDescription:(RTCSessionDescription *)description;
     45 
     46 @end
     47 
     48 @interface ARDByeMessage : ARDSignalingMessage
     49 @end
     50