From dc2b8c464672d7bb69a32cf6f95555872f1f7ddf Mon Sep 17 00:00:00 2001 From: Mark Monteiro Date: Sat, 21 Mar 2020 23:19:24 +0100 Subject: Log a warning if an attempt is made to register an invalid service type --- Emby.Server.Implementations/Services/ServiceController.cs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'Emby.Server.Implementations/Services/ServiceController.cs') diff --git a/Emby.Server.Implementations/Services/ServiceController.cs b/Emby.Server.Implementations/Services/ServiceController.cs index d963f9043..3f9c8778b 100644 --- a/Emby.Server.Implementations/Services/ServiceController.cs +++ b/Emby.Server.Implementations/Services/ServiceController.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Threading.Tasks; using Emby.Server.Implementations.HttpServer; using MediaBrowser.Model.Services; +using Microsoft.Extensions.Logging; namespace Emby.Server.Implementations.Services { @@ -11,6 +12,13 @@ namespace Emby.Server.Implementations.Services public class ServiceController { + private readonly ILogger _log; + + public ServiceController(ILogger log) + { + _log = log; + } + public void Init(HttpListenerHost appHost, IEnumerable serviceTypes) { foreach (var serviceType in serviceTypes) @@ -21,6 +29,13 @@ namespace Emby.Server.Implementations.Services public void RegisterService(HttpListenerHost appHost, Type serviceType) { + // Make sure the provided type implements IService + if (!serviceType.IsAssignableFrom(typeof(IService))) + { + _log.LogWarning("Tried to register a service that does not implement IService: {ServiceType}", serviceType); + return; + } + var processedReqs = new HashSet(); var actions = ServiceExecGeneral.Reset(serviceType); -- cgit v1.2.3 From b8580e58aadbbef6f99dfc15ab0fcc38f5210dd8 Mon Sep 17 00:00:00 2001 From: Mark Monteiro Date: Sat, 21 Mar 2020 23:28:27 +0100 Subject: Check for implementation of IService correctly --- Emby.Server.Implementations/Services/ServiceController.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'Emby.Server.Implementations/Services/ServiceController.cs') diff --git a/Emby.Server.Implementations/Services/ServiceController.cs b/Emby.Server.Implementations/Services/ServiceController.cs index 3f9c8778b..d546317a9 100644 --- a/Emby.Server.Implementations/Services/ServiceController.cs +++ b/Emby.Server.Implementations/Services/ServiceController.cs @@ -8,12 +8,17 @@ using Microsoft.Extensions.Logging; namespace Emby.Server.Implementations.Services { public delegate object ActionInvokerFn(object intance, object request); + public delegate void VoidActionInvokerFn(object intance, object request); public class ServiceController { private readonly ILogger _log; + /// + /// Initializes a new instance of the class. + /// + /// The logger. public ServiceController(ILogger log) { _log = log; @@ -30,7 +35,7 @@ namespace Emby.Server.Implementations.Services public void RegisterService(HttpListenerHost appHost, Type serviceType) { // Make sure the provided type implements IService - if (!serviceType.IsAssignableFrom(typeof(IService))) + if (!typeof(IService).IsAssignableFrom(serviceType)) { _log.LogWarning("Tried to register a service that does not implement IService: {ServiceType}", serviceType); return; -- cgit v1.2.3 From 2a521b0f68315a765ee1a970fabdd712739c4f31 Mon Sep 17 00:00:00 2001 From: Mark Monteiro Date: Thu, 2 Apr 2020 09:32:43 -0400 Subject: Rename 'log' to 'logger' --- Emby.Server.Implementations/Services/ServiceController.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'Emby.Server.Implementations/Services/ServiceController.cs') diff --git a/Emby.Server.Implementations/Services/ServiceController.cs b/Emby.Server.Implementations/Services/ServiceController.cs index d546317a9..e24a95dbb 100644 --- a/Emby.Server.Implementations/Services/ServiceController.cs +++ b/Emby.Server.Implementations/Services/ServiceController.cs @@ -13,15 +13,15 @@ namespace Emby.Server.Implementations.Services public class ServiceController { - private readonly ILogger _log; + private readonly ILogger _logger; /// /// Initializes a new instance of the class. /// - /// The logger. - public ServiceController(ILogger log) + /// The logger. + public ServiceController(ILogger logger) { - _log = log; + _logger = logger; } public void Init(HttpListenerHost appHost, IEnumerable serviceTypes) @@ -37,7 +37,7 @@ namespace Emby.Server.Implementations.Services // Make sure the provided type implements IService if (!typeof(IService).IsAssignableFrom(serviceType)) { - _log.LogWarning("Tried to register a service that does not implement IService: {ServiceType}", serviceType); + _logger.LogWarning("Tried to register a service that does not implement IService: {ServiceType}", serviceType); return; } -- cgit v1.2.3