diff options
Diffstat (limited to 'MediaBrowser.Common/Api')
4 files changed, 0 insertions, 415 deletions
diff --git a/MediaBrowser.Common/Api/Logging/LogFileWebSocketListener.cs b/MediaBrowser.Common/Api/Logging/LogFileWebSocketListener.cs deleted file mode 100644 index e873facb1..000000000 --- a/MediaBrowser.Common/Api/Logging/LogFileWebSocketListener.cs +++ /dev/null @@ -1,146 +0,0 @@ -using MediaBrowser.Common.IO; -using MediaBrowser.Common.Kernel; -using System; -using System.Collections.Generic; -using System.ComponentModel.Composition; -using System.IO; -using System.Linq; -using System.Threading.Tasks; -using MediaBrowser.Model.Logging; - -namespace MediaBrowser.Common.Api.Logging -{ - /// <summary> - /// Class ScheduledTasksWebSocketListener - /// </summary> - [Export(typeof(IWebSocketListener))] - public class LogFileWebSocketListener : BasePeriodicWebSocketListener<IKernel, IEnumerable<string>, LogFileWebSocketState> - { - /// <summary> - /// Gets the name. - /// </summary> - /// <value>The name.</value> - protected override string Name - { - get { return "LogFile"; } - } - - /// <summary> - /// Initializes a new instance of the <see cref="LogFileWebSocketListener" /> class. - /// </summary> - /// <param name="logger">The logger.</param> - [ImportingConstructor] - public LogFileWebSocketListener([Import("logger")] ILogger logger) - : base(logger) - { - - } - - /// <summary> - /// Initializes the specified kernel. - /// </summary> - /// <param name="kernel">The kernel.</param> - public override void Initialize(IKernel kernel) - { - base.Initialize(kernel); - - kernel.LoggerLoaded += kernel_LoggerLoaded; - } - - /// <summary> - /// Gets the data to send. - /// </summary> - /// <param name="state">The state.</param> - /// <returns>IEnumerable{System.String}.</returns> - protected override async Task<IEnumerable<string>> GetDataToSend(LogFileWebSocketState state) - { - if (!string.Equals(Kernel.LogFilePath, state.LastLogFilePath)) - { - state.LastLogFilePath = Kernel.LogFilePath; - state.StartLine = 0; - } - - var lines = await GetLogLines(state.LastLogFilePath, state.StartLine).ConfigureAwait(false); - - state.StartLine += lines.Count; - - return lines; - } - - /// <summary> - /// Releases unmanaged and - optionally - managed resources. - /// </summary> - /// <param name="dispose"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param> - protected override void Dispose(bool dispose) - { - if (dispose) - { - Kernel.LoggerLoaded -= kernel_LoggerLoaded; - } - base.Dispose(dispose); - } - - /// <summary> - /// Handles the LoggerLoaded event of the kernel control. - /// </summary> - /// <param name="sender">The source of the event.</param> - /// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param> - void kernel_LoggerLoaded(object sender, EventArgs e) - { - // Reset the startline for each connection whenever the logger reloads - lock (ActiveConnections) - { - foreach (var connection in ActiveConnections) - { - connection.Item4.StartLine = 0; - } - } - } - - /// <summary> - /// Gets the log lines. - /// </summary> - /// <param name="logFilePath">The log file path.</param> - /// <param name="startLine">The start line.</param> - /// <returns>Task{IEnumerable{System.String}}.</returns> - internal static async Task<List<string>> GetLogLines(string logFilePath, int startLine) - { - var lines = new List<string>(); - - using (var fs = new FileStream(logFilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite, StreamDefaults.DefaultFileStreamBufferSize, true)) - { - using (var reader = new StreamReader(fs)) - { - while (!reader.EndOfStream) - { - lines.Add(await reader.ReadLineAsync().ConfigureAwait(false)); - } - } - } - - if (startLine > 0) - { - lines = lines.Skip(startLine).ToList(); - } - - return lines; - } - } - - /// <summary> - /// Class LogFileWebSocketState - /// </summary> - public class LogFileWebSocketState - { - /// <summary> - /// Gets or sets the last log file path. - /// </summary> - /// <value>The last log file path.</value> - public string LastLogFilePath { get; set; } - /// <summary> - /// Gets or sets the start line. - /// </summary> - /// <value>The start line.</value> - public int StartLine { get; set; } - } -} diff --git a/MediaBrowser.Common/Api/ScheduledTasks/ScheduledTaskService.cs b/MediaBrowser.Common/Api/ScheduledTasks/ScheduledTaskService.cs deleted file mode 100644 index 1df24dcd2..000000000 --- a/MediaBrowser.Common/Api/ScheduledTasks/ScheduledTaskService.cs +++ /dev/null @@ -1,176 +0,0 @@ -using MediaBrowser.Common.Extensions; -using MediaBrowser.Common.Net; -using MediaBrowser.Common.ScheduledTasks; -using MediaBrowser.Common.Serialization; -using MediaBrowser.Model.Tasks; -using ServiceStack.ServiceHost; -using System; -using System.Collections.Generic; -using System.ComponentModel.Composition; -using System.IO; -using System.Linq; -using ServiceStack.Text.Controller; - -namespace MediaBrowser.Common.Api.ScheduledTasks -{ - /// <summary> - /// Class GetScheduledTask - /// </summary> - [Route("/ScheduledTasks/{Id}", "GET")] - public class GetScheduledTask : IReturn<TaskInfo> - { - /// <summary> - /// Gets or sets the id. - /// </summary> - /// <value>The id.</value> - public Guid Id { get; set; } - } - - /// <summary> - /// Class GetScheduledTasks - /// </summary> - [Route("/ScheduledTasks", "GET")] - public class GetScheduledTasks : IReturn<List<TaskInfo>> - { - - } - - /// <summary> - /// Class StartScheduledTask - /// </summary> - [Route("/ScheduledTasks/Running/{Id}", "POST")] - public class StartScheduledTask : IReturnVoid - { - /// <summary> - /// Gets or sets the id. - /// </summary> - /// <value>The id.</value> - public Guid Id { get; set; } - } - - /// <summary> - /// Class StopScheduledTask - /// </summary> - [Route("/ScheduledTasks/Running/{Id}", "DELETE")] - public class StopScheduledTask : IReturnVoid - { - /// <summary> - /// Gets or sets the id. - /// </summary> - /// <value>The id.</value> - public Guid Id { get; set; } - } - - /// <summary> - /// Class UpdateScheduledTaskTriggers - /// </summary> - [Route("/ScheduledTasks/{Id}/Triggers", "POST")] - public class UpdateScheduledTaskTriggers : IRequiresRequestStream - { - /// <summary> - /// Gets or sets the task id. - /// </summary> - /// <value>The task id.</value> - public Guid Id { get; set; } - - /// <summary> - /// The raw Http Request Input Stream - /// </summary> - /// <value>The request stream.</value> - public Stream RequestStream { get; set; } - } - - /// <summary> - /// Class ScheduledTasksService - /// </summary> - [Export(typeof(IRestfulService))] - public class ScheduledTaskService : BaseRestService - { - /// <summary> - /// Gets the specified request. - /// </summary> - /// <param name="request">The request.</param> - /// <returns>IEnumerable{TaskInfo}.</returns> - public object Get(GetScheduledTasks request) - { - var result = Kernel.ScheduledTasks.OrderBy(i => i.Name) - .Select(ScheduledTaskHelpers.GetTaskInfo).ToList(); - - return ToOptimizedResult(result); - } - - /// <summary> - /// Gets the specified request. - /// </summary> - /// <param name="request">The request.</param> - /// <returns>IEnumerable{TaskInfo}.</returns> - public object Get(GetScheduledTask request) - { - var task = Kernel.ScheduledTasks.FirstOrDefault(i => i.Id == request.Id); - - if (task == null) - { - throw new ResourceNotFoundException("Task not found"); - } - - var result = ScheduledTaskHelpers.GetTaskInfo(task); - - return ToOptimizedResult(result); - } - - /// <summary> - /// Posts the specified request. - /// </summary> - /// <param name="request">The request.</param> - public void Post(StartScheduledTask request) - { - var task = Kernel.ScheduledTasks.FirstOrDefault(i => i.Id == request.Id); - - if (task == null) - { - throw new ResourceNotFoundException("Task not found"); - } - - task.Execute(); - } - - /// <summary> - /// Posts the specified request. - /// </summary> - /// <param name="request">The request.</param> - public void Delete(StopScheduledTask request) - { - var task = Kernel.ScheduledTasks.FirstOrDefault(i => i.Id == request.Id); - - if (task == null) - { - throw new ResourceNotFoundException("Task not found"); - } - - task.Cancel(); - } - - /// <summary> - /// Posts the specified request. - /// </summary> - /// <param name="request">The request.</param> - public void Post(UpdateScheduledTaskTriggers request) - { - // We need to parse this manually because we told service stack not to with IRequiresRequestStream - // https://code.google.com/p/servicestack/source/browse/trunk/Common/ServiceStack.Text/ServiceStack.Text/Controller/PathInfo.cs - var pathInfo = PathInfo.Parse(Request.PathInfo); - var id = new Guid(pathInfo.GetArgumentValue<string>(1)); - - var task = Kernel.ScheduledTasks.FirstOrDefault(i => i.Id == id); - - if (task == null) - { - throw new ResourceNotFoundException("Task not found"); - } - - var triggerInfos = JsonSerializer.DeserializeFromStream<TaskTriggerInfo[]>(request.RequestStream); - - task.Triggers = triggerInfos.Select(t => ScheduledTaskHelpers.GetTrigger(t, Kernel)); - } - } -} diff --git a/MediaBrowser.Common/Api/ScheduledTasks/ScheduledTasksWebSocketListener.cs b/MediaBrowser.Common/Api/ScheduledTasks/ScheduledTasksWebSocketListener.cs deleted file mode 100644 index 7e4596d9d..000000000 --- a/MediaBrowser.Common/Api/ScheduledTasks/ScheduledTasksWebSocketListener.cs +++ /dev/null @@ -1,49 +0,0 @@ -using MediaBrowser.Common.Kernel; -using MediaBrowser.Common.ScheduledTasks; -using MediaBrowser.Model.Logging; -using MediaBrowser.Model.Tasks; -using System.Collections.Generic; -using System.ComponentModel.Composition; -using System.Linq; -using System.Threading.Tasks; - -namespace MediaBrowser.Common.Api.ScheduledTasks -{ - /// <summary> - /// Class ScheduledTasksWebSocketListener - /// </summary> - [Export(typeof(IWebSocketListener))] - public class ScheduledTasksWebSocketListener : BasePeriodicWebSocketListener<IKernel, IEnumerable<TaskInfo>, object> - { - /// <summary> - /// Gets the name. - /// </summary> - /// <value>The name.</value> - protected override string Name - { - get { return "ScheduledTasksInfo"; } - } - - /// <summary> - /// Initializes a new instance of the <see cref="ScheduledTasksWebSocketListener" /> class. - /// </summary> - /// <param name="logger">The logger.</param> - [ImportingConstructor] - public ScheduledTasksWebSocketListener([Import("logger")] ILogger logger) - : base(logger) - { - - } - - /// <summary> - /// Gets the data to send. - /// </summary> - /// <param name="state">The state.</param> - /// <returns>Task{IEnumerable{TaskInfo}}.</returns> - protected override Task<IEnumerable<TaskInfo>> GetDataToSend(object state) - { - return Task.FromResult(Kernel.ScheduledTasks.OrderBy(i => i.Name) - .Select(ScheduledTaskHelpers.GetTaskInfo)); - } - } -} diff --git a/MediaBrowser.Common/Api/SystemInfoWebSocketListener.cs b/MediaBrowser.Common/Api/SystemInfoWebSocketListener.cs deleted file mode 100644 index a216937ed..000000000 --- a/MediaBrowser.Common/Api/SystemInfoWebSocketListener.cs +++ /dev/null @@ -1,44 +0,0 @@ -using MediaBrowser.Common.Kernel; -using MediaBrowser.Model.Logging; -using System.ComponentModel.Composition; -using System.Threading.Tasks; - -namespace MediaBrowser.Common.Api -{ - /// <summary> - /// Class SystemInfoWebSocketListener - /// </summary> - [Export(typeof(IWebSocketListener))] - public class SystemInfoWebSocketListener : BasePeriodicWebSocketListener<IKernel, Model.System.SystemInfo, object> - { - /// <summary> - /// Gets the name. - /// </summary> - /// <value>The name.</value> - protected override string Name - { - get { return "SystemInfo"; } - } - - /// <summary> - /// Initializes a new instance of the <see cref="SystemInfoWebSocketListener" /> class. - /// </summary> - /// <param name="logger">The logger.</param> - [ImportingConstructor] - public SystemInfoWebSocketListener([Import("logger")] ILogger logger) - : base(logger) - { - - } - - /// <summary> - /// Gets the data to send. - /// </summary> - /// <param name="state">The state.</param> - /// <returns>Task{SystemInfo}.</returns> - protected override Task<Model.System.SystemInfo> GetDataToSend(object state) - { - return Task.FromResult(Kernel.GetSystemInfo()); - } - } -} |
