public static MessagingSubscription Subscribe(String channel, String selector, IRTCallback callback) { MessagingSubscription messagingSubscription = Subscribe(channel, callback); messagingSubscription.PutOption("selector", selector); return(messagingSubscription); }
private void RemoveSubscription(MessagingSubscription messagingSubscription, int index) { messagingCallbacks.RemoveAt(index); if (IsJoined()) { rtClient.Unsubscribe(messagingSubscription.Id); } }
private void AddUserListener(IRTCallback rtCallback) { MessagingSubscription subscription = MessagingSubscription.UserStatus(channelName, rtCallback); messagingCallbacks.Add(subscription); if (IsJoined()) { rtClient.Subscribe(subscription); } }
public void RemoveUserStatusListeners() { for (int i = messagingCallbacks.Count - 1; i >= 0; i--) { MessagingSubscription messagingSubscription = messagingCallbacks[i]; if (messagingSubscription.SubscriptionName == SubscriptionNames.PUB_SUB_USERS) { RemoveSubscription(messagingSubscription, i); } } }
public static MessagingSubscription UserStatus(String channel, IRTCallback callback) { if (channel == null || channel.Length == 0) { throw CreateChannelNullException(); } MessagingSubscription messagingSubscription = new MessagingSubscription(SubscriptionNames.PUB_SUB_USERS, callback); messagingSubscription.PutOption("channel", channel); return(messagingSubscription); }
private void RemoveMessageListener(Delegate @delegate) { for (int i = messagingCallbacks.Count - 1; i >= 0; i--) { MessagingSubscription messagingSubscription = messagingCallbacks[i]; object callbackObject = messagingSubscription.Callback.UsersCallback; if (callbackObject is Delegate && ((Delegate)callbackObject) == @delegate) { RemoveSubscription(messagingSubscription, i); } } }
public void RemoveMessageListeners(string selector) { for (int i = messagingCallbacks.Count - 1; i >= 0; i--) { MessagingSubscription messagingSubscription = messagingCallbacks[i]; object callbackObject = messagingSubscription.Callback.UsersCallback; if (messagingSubscription.Selector != null && messagingSubscription.Selector.Equals(selector)) { RemoveSubscription(messagingSubscription, i); } } }
public void RemoveMessageListeners <T>(string selector, MessageReceived <T> callback) { for (int i = messagingCallbacks.Count - 1; i >= 0; i--) { MessagingSubscription messagingSubscription = messagingCallbacks[i]; object callbackObject = messagingSubscription.Callback.UsersCallback; if ((messagingSubscription.Selector == null || messagingSubscription.Selector.Equals(selector)) && (callback == null || callbackObject.Equals(callback))) { RemoveSubscription(messagingSubscription, i); } } }
private void AddMessageListener(String selector, IRTCallback rtCallback) { MessagingSubscription subscription; if (selector == null) { subscription = MessagingSubscription.Subscribe(channelName, rtCallback); } else { subscription = MessagingSubscription.Subscribe(channelName, selector, rtCallback); } messagingCallbacks.Add(subscription); if (IsJoined()) { rtClient.Subscribe(subscription); } }