

#import <Foundation/Foundation.h>

@class RTCPeerConnection;
@class RTCSessionDescription;

extern NSString* const kRTCSessionDescriptionDelegateErrorDomain;
extern int const kRTCSessionDescriptionDelegateErrorCode;

// RTCSessionDescriptionDelegate is a protocol for listening to callback
// messages when RTCSessionDescriptions are created or set.
@protocol RTCSessionDescriptionDelegate<NSObject>

// Called when creating a session.
- (void)peerConnection:(RTCPeerConnection *)peerConnection
    didCreateSessionDescription:(RTCSessionDescription *)sdp
                          error:(NSError *)error;

// Called when setting a local or remote description.
- (void)peerConnection:(RTCPeerConnection *)peerConnection
    didSetSessionDescriptionWithError:(NSError *)error;

@end
