public void TestDataSourceDoesntExist2() { var dataSource = new Mock <ISingleDataSource>(); var logFile = new Mock <ILogFile>(); logFile.Setup(x => x.GetValue(LogFileProperties.EmptyReason)).Returns(ErrorFlags.SourceDoesNotExist); logFile.Setup(x => x.GetValue(LogFileProperties.Size)).Returns((Size?)null); var filteredLogFile = new Mock <ILogFile>(); ILogFileListener listener = null; filteredLogFile.Setup(x => x.AddListener(It.IsAny <ILogFileListener>(), It.IsAny <TimeSpan>(), It.IsAny <int>())) .Callback((ILogFileListener l, TimeSpan t, int i) => listener = l); dataSource.Setup(x => x.UnfilteredLogFile).Returns(logFile.Object); dataSource.Setup(x => x.FullFileName).Returns(@"E:\Tailviewer\somefile.log"); dataSource.Setup(x => x.FilteredLogFile).Returns(filteredLogFile.Object); dataSource.Setup(x => x.Search).Returns(new Mock <ILogFileSearch>().Object); var dataSourceModel = new SingleDataSourceViewModel(dataSource.Object, _actionCenter.Object); var model = new LogViewerViewModel(dataSourceModel, _actionCenter.Object, _settings.Object, TimeSpan.Zero); model.LogEntryCount.Should().Be(0); model.NoEntriesExplanation.Should().Be("Can't find \"somefile.log\""); model.NoEntriesSubtext.Should().Be("It was last seen at E:\\Tailviewer"); logFile.Setup(x => x.GetValue(LogFileProperties.EmptyReason)).Returns(ErrorFlags.None); logFile.Setup(x => x.GetValue(LogFileProperties.Size)).Returns(Size.Zero); listener.OnLogFileModified(logFile.Object, new LogFileSection(0, 0)); model.Update(); model.NoEntriesExplanation.Should().Be("The data source is empty"); model.NoEntriesSubtext.Should().BeNull(); }
/// <summary> /// Removes the given listener from the list of notified listeners. /// </summary> /// <param name="listener"></param> public void RemoveListener(ILogFileListener listener) { lock (_listeners) { _listeners.Remove(listener); } }
/// <inheritdoc /> public void AddListener(ILogFileListener listener, TimeSpan maximumWaitTime, int maximumLineCount) { if (Log.IsDebugEnabled) { Log.DebugFormat("AddListener({0}, {1}, {2})", listener, maximumWaitTime, maximumLineCount); } _listeners.AddListener(listener, maximumWaitTime, maximumLineCount); }
/// <inheritdoc /> public void RemoveListener(ILogFileListener listener) { if (Log.IsDebugEnabled) { Log.DebugFormat("RemoveListener({0})", listener); } _listeners.RemoveListener(listener); }
/// <inheritdoc /> public void RemoveListener(ILogFileListener listener) { try { _logFile.RemoveListener(listener); } catch (Exception e) { BlameExceptionOnPlugin(e); } }
/// <inheritdoc /> public void AddListener(ILogFileListener listener, TimeSpan maximumWaitTime, int maximumLineCount) { try { _logFile.AddListener(listener, maximumWaitTime, maximumLineCount); } catch (Exception e) { BlameExceptionOnPlugin(e); } }
/// <summary> /// Adds the given listener to the list of notified listeners. /// The listener will immediately be notified of the <see cref="CurrentLineIndex" />. /// </summary> /// <param name="listener"></param> /// <param name="maximumWaitTime"></param> /// <param name="maximumLineCount"></param> public void AddListener(ILogFileListener listener, TimeSpan maximumWaitTime, int maximumLineCount) { lock (_listeners) { if (!_listeners.ContainsKey(listener)) { var notifier = new LogFileListenerNotifier(_logFile, listener, maximumWaitTime, maximumLineCount); _listeners.Add(listener, notifier); notifier.OnRead(CurrentLineIndex); } } }
public void AddListener(ILogFileListener listener, TimeSpan maximumWaitTime, int maximumLineCount) { lock (_listeners) { if (!_listeners.ContainsKey(listener)) { var notifier = new LogFileListenerNotifier(_logFile, listener, maximumWaitTime, maximumLineCount); _listeners.Add(listener, notifier); notifier.OnRead(_currentLineIndex); } } }
public LogFileListenerNotifier(ILogFile logFile, ILogFileListener listener, TimeSpan maximumTime, int maximumCount) { if (logFile == null) throw new ArgumentNullException("logFile"); if (listener == null) throw new ArgumentNullException("listener"); _logFile = logFile; _listener = listener; _maximumTime = maximumTime; _maximumCount = maximumCount; Reset(); _listener.OnLogFileModified(logFile, LogFileSection.Reset); }
public LogFileListenerNotifier(ILogFile logFile, ILogFileListener listener, TimeSpan maximumTime, int maximumCount) { if (logFile == null) { throw new ArgumentNullException(nameof(logFile)); } if (listener == null) { throw new ArgumentNullException(nameof(listener)); } _logFile = logFile; _listener = listener; _maximumTime = maximumTime; _maximumCount = maximumCount; Reset(); _listener.OnLogFileModified(logFile, LogFileSection.Reset); }
/// <inheritdoc /> public void AddListener(ILogFileListener listener, TimeSpan maximumWaitTime, int maximumLineCount) { _listeners.AddListener(listener, maximumWaitTime, maximumLineCount); }
/// <inheritdoc /> public void RemoveListener(ILogFileListener listener) { _listeners.RemoveListener(listener); }
public void RemoveListener(ILogFileListener listener) { _listeners.RemoveListener(listener); }
public void AddListener(ILogFileListener listener, TimeSpan maximumWaitTime, int maximumLineCount) { _listeners.AddListener(listener, maximumWaitTime, maximumLineCount); }
/// <inheritdoc /> public void RemoveListener(ILogFileListener listener) { _buffer.RemoveListener(listener); }
public void RemoveListener(ILogFileListener listener) { lock (_listeners) { _listeners.Remove(listener); } }