/// <summary> /// Removes registered websocket message listener. /// </summary> /// <param name="msgCase">message type to stop lisitening for</param> /// <param name="listener">listener object</param> public void UnregisterListener(WrapperMessage.MessageOneofCase msgCase, IOnMessageListener listener) { if (listeners.ContainsKey(msgCase)) { listeners[msgCase].Remove(listener); } }
/** * Tries to set the activity as an OnMessageListener * @param activity The specified activity */ private void SetActivityAsListener(Activity activity) { try { this.listener = (IOnMessageListener)activity; } catch (ClassCastException) { throw new IllegalStateException("Activities using InboxFragment must implement " + "the InboxFragment.OnMessageListener interface."); } }
/// <summary> /// Registers new websocket message listener. /// </summary> /// <param name="msgCase">message type for listener to listen to</param> /// <param name="listener">listener object</param> public void RegisterListener(WrapperMessage.MessageOneofCase msgCase, IOnMessageListener listener) { Debug.Assert( msgCase != WrapperMessage.MessageOneofCase.Disconnected, "Disconnect message is handled directly by the connection handler." ); if (!listeners.ContainsKey(msgCase)) { listeners[msgCase] = new List <IOnMessageListener>(); } else if (listeners[msgCase].Contains(listener)) { return; // do not allow to register the same object multiple times for the same message case } listeners[msgCase].Add(listener); }
/** * Tries to set the activity as an OnMessageListener * @param activity The specified activity */ private void SetActivityAsListener (Activity activity) { try { this.listener = (IOnMessageListener)activity; } catch (ClassCastException) { throw new IllegalStateException ("Activities using InboxFragment must implement " + "the InboxFragment.OnMessageListener interface."); } }