/// <summary> /// Removes a listener from this Terminal /// </summary> /// <param name="listener">The listener to remove</param> /// <returns>True if the listener was found and removed</returns> public bool Detach(ITerminalListener listener) => ImmutableInterlockedEx.Remove(ref _Listeners, listener);
//**************************************** /// <summary> /// Attach a listener to this Terminal /// </summary> /// <param name="listener">The listener that will receive events from this Terminal</param> /// <remarks>This keeps a strong reference to the listener, so care must be taken to detach</remarks> public void Attach(ITerminalListener listener) => ImmutableInterlockedEx.Add(ref _Listeners, listener);