public void SetListener(IRemoteConsoleClientListener listener) { lock (_locker) { _listener.SetListener(listener); } }
public void PumpEvents() { List <LogMessage> messages = null; List <string> autoComplete = null; bool sendConn = false; bool isConn = false; IRemoteConsoleClientListener l = null; lock (_locker) { l = _listener.Listener; messages = new List <LogMessage>(_messages); _messages.Clear(); if (_autoCompleteIsDone && !_listener.AutoCompleteSent) { autoComplete = new List <string>(_autoComplete); _autoComplete.Clear(); _listener.AutoCompleteSent = true; } if (_isConnected != _listener.Connected && !_resetConnection) { _listener.Connected = _isConnected; sendConn = true; isConn = _isConnected; } } if (l != null) { if (sendConn) { if (isConn) { l.OnConnected(); } else { l.OnDisconnected(); } } if (messages != null) { foreach (var message in messages) { l.OnLogMessage(message); } } if (autoComplete != null) { l.OnAutoCompleteDone(autoComplete); } } }
public void SetListener(IRemoteConsoleClientListener listener) { Listener = listener; Reset(); }