/* * 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 "ARDSignalingMessage.h" typedef NS_ENUM(NSInteger, ARDSignalingChannelState) { // State when disconnected. kARDSignalingChannelStateClosed, // State when connection is established but not ready for use. kARDSignalingChannelStateOpen, // State when connection is established and registered. kARDSignalingChannelStateRegistered, // State when connection encounters a fatal error. kARDSignalingChannelStateError }; @protocol ARDSignalingChannel; @protocol ARDSignalingChannelDelegate - (void)channel:(id)channel didChangeState:(ARDSignalingChannelState)state; - (void)channel:(id)channel didReceiveMessage:(ARDSignalingMessage *)message; @end @protocol ARDSignalingChannel @property(nonatomic, readonly) NSString *roomId; @property(nonatomic, readonly) NSString *clientId; @property(nonatomic, readonly) ARDSignalingChannelState state; @property(nonatomic, weak) id delegate; // Registers the channel for the given room and client id. - (void)registerForRoomId:(NSString *)roomId clientId:(NSString *)clientId; // Sends signaling message over the channel. - (void)sendMessage:(ARDSignalingMessage *)message; @end