From 6c8d9192985036acb3d1fe626ed57980bb862d6a Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 31 Oct 2013 10:03:23 -0400 Subject: replace file system calls with IFileSystem when needed --- MediaBrowser.Api/WebSocket/LogFileWebSocketListener.cs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'MediaBrowser.Api/WebSocket/LogFileWebSocketListener.cs') diff --git a/MediaBrowser.Api/WebSocket/LogFileWebSocketListener.cs b/MediaBrowser.Api/WebSocket/LogFileWebSocketListener.cs index f11bae523..07fa0e610 100644 --- a/MediaBrowser.Api/WebSocket/LogFileWebSocketListener.cs +++ b/MediaBrowser.Api/WebSocket/LogFileWebSocketListener.cs @@ -1,5 +1,6 @@ using MediaBrowser.Common.IO; using MediaBrowser.Common.Net; +using MediaBrowser.Controller.IO; using MediaBrowser.Model.Logging; using System; using System.Collections.Generic; @@ -27,16 +28,18 @@ namespace MediaBrowser.Api.WebSocket /// The _kernel /// private readonly ILogManager _logManager; + private readonly IFileSystem _fileSystem; /// /// Initializes a new instance of the class. /// /// The logger. /// The log manager. - public LogFileWebSocketListener(ILogger logger, ILogManager logManager) + public LogFileWebSocketListener(ILogger logger, ILogManager logManager, IFileSystem fileSystem) : base(logger) { _logManager = logManager; + _fileSystem = fileSystem; _logManager.LoggerLoaded += kernel_LoggerLoaded; } @@ -53,7 +56,7 @@ namespace MediaBrowser.Api.WebSocket state.StartLine = 0; } - var lines = await GetLogLines(state.LastLogFilePath, state.StartLine).ConfigureAwait(false); + var lines = await GetLogLines(state.LastLogFilePath, state.StartLine, _fileSystem).ConfigureAwait(false); state.StartLine += lines.Count; @@ -96,11 +99,11 @@ namespace MediaBrowser.Api.WebSocket /// The log file path. /// The start line. /// Task{IEnumerable{System.String}}. - internal static async Task> GetLogLines(string logFilePath, int startLine) + internal static async Task> GetLogLines(string logFilePath, int startLine, IFileSystem fileSystem) { var lines = new List(); - using (var fs = new FileStream(logFilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite, StreamDefaults.DefaultFileStreamBufferSize, true)) + using (var fs = fileSystem.GetFileStream(logFilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite, true)) { using (var reader = new StreamReader(fs)) { -- cgit v1.2.3