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);
     }
 }
Esempio n. 3
0
        /// <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);
        }
Esempio n. 4
0
        /// <inheritdoc />
        public void RemoveListener(ILogFileListener listener)
        {
            if (Log.IsDebugEnabled)
            {
                Log.DebugFormat("RemoveListener({0})", listener);
            }

            _listeners.RemoveListener(listener);
        }
Esempio n. 5
0
 /// <inheritdoc />
 public void RemoveListener(ILogFileListener listener)
 {
     try
     {
         _logFile.RemoveListener(listener);
     }
     catch (Exception e)
     {
         BlameExceptionOnPlugin(e);
     }
 }
Esempio n. 6
0
 /// <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);
        }
Esempio n. 11
0
 /// <inheritdoc />
 public void AddListener(ILogFileListener listener, TimeSpan maximumWaitTime, int maximumLineCount)
 {
     _listeners.AddListener(listener, maximumWaitTime, maximumLineCount);
 }
Esempio n. 12
0
 /// <inheritdoc />
 public void RemoveListener(ILogFileListener listener)
 {
     _listeners.RemoveListener(listener);
 }
Esempio n. 13
0
 public void RemoveListener(ILogFileListener listener)
 {
     _listeners.RemoveListener(listener);
 }
Esempio n. 14
0
 public void AddListener(ILogFileListener listener, TimeSpan maximumWaitTime, int maximumLineCount)
 {
     _listeners.AddListener(listener, maximumWaitTime, maximumLineCount);
 }
Esempio n. 15
0
 /// <inheritdoc />
 public void RemoveListener(ILogFileListener listener)
 {
     _buffer.RemoveListener(listener);
 }
 public void RemoveListener(ILogFileListener listener)
 {
     lock (_listeners)
     {
         _listeners.Remove(listener);
     }
 }