/// <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);
        }
Esempio n. 4
0
		/**
	     * 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.");
			}
		}