Browse Source

Fix more warnings

Bond_009 5 years ago
parent
commit
2a58c643d2

+ 22 - 23
Emby.Server.Implementations/ApplicationHost.cs

@@ -108,9 +108,9 @@ using Microsoft.AspNetCore.Hosting;
 using Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.Http.Extensions;
 using Microsoft.Extensions.Configuration;
-using Microsoft.Extensions.Logging;
 using Microsoft.Extensions.DependencyInjection;
 using Microsoft.Extensions.DependencyInjection.Extensions;
+using Microsoft.Extensions.Logging;
 using ServiceStack;
 using OperatingSystem = MediaBrowser.Common.System.OperatingSystem;
 
@@ -386,7 +386,7 @@ namespace Emby.Server.Implementations
 
             fileSystem.AddShortcutHandler(new MbLinkShortcutHandler(fileSystem));
 
-            NetworkManager.NetworkChanged += NetworkManager_NetworkChanged;
+            NetworkManager.NetworkChanged += OnNetworkChanged;
         }
 
         public string ExpandVirtualPath(string path)
@@ -410,7 +410,7 @@ namespace Emby.Server.Implementations
             return ServerConfigurationManager.Configuration.LocalNetworkSubnets;
         }
 
-        private void NetworkManager_NetworkChanged(object sender, EventArgs e)
+        private void OnNetworkChanged(object sender, EventArgs e)
         {
             _validAddressResults.Clear();
         }
@@ -421,7 +421,7 @@ namespace Emby.Server.Implementations
         /// Gets the current application user agent
         /// </summary>
         /// <value>The application user agent.</value>
-        public string ApplicationUserAgent => Name.Replace(' ','-') + '/' + ApplicationVersion;
+        public string ApplicationUserAgent => Name.Replace(' ', '-') + "/" + ApplicationVersion;
 
         /// <summary>
         /// Gets the email address for use within a comment section of a user agent field.
@@ -429,14 +429,11 @@ namespace Emby.Server.Implementations
         /// </summary>
         public string ApplicationUserAgentAddress { get; } = "team@jellyfin.org";
 
-        private string _productName;
-
         /// <summary>
-        /// Gets the current application name
+        /// Gets the current application name.
         /// </summary>
         /// <value>The application name.</value>
-        public string ApplicationProductName
-            => _productName ?? (_productName = FileVersionInfo.GetVersionInfo(Assembly.GetEntryAssembly().Location).ProductName);
+        public string ApplicationProductName { get; } = FileVersionInfo.GetVersionInfo(Assembly.GetEntryAssembly().Location).ProductName;
 
         private DeviceId _deviceId;
 
@@ -604,10 +601,15 @@ namespace Emby.Server.Implementations
 
                 foreach (var plugin in Plugins)
                 {
-                    pluginBuilder.AppendLine(string.Format("{0} {1}", plugin.Name, plugin.Version));
+                    pluginBuilder.AppendLine(
+                        string.Format(
+                            CultureInfo.InvariantCulture,
+                            "{0} {1}",
+                            plugin.Name,
+                            plugin.Version));
                 }
 
-                Logger.LogInformation("Plugins: {plugins}", pluginBuilder.ToString());
+                Logger.LogInformation("Plugins: {Plugins}", pluginBuilder.ToString());
             }
 
             DiscoverTypes();
@@ -629,7 +631,7 @@ namespace Emby.Server.Implementations
 
                     if (EnableHttps && Certificate != null)
                     {
-                        options.ListenAnyIP(HttpsPort, listenOptions => { listenOptions.UseHttps(Certificate); });
+                        options.ListenAnyIP(HttpsPort, listenOptions => listenOptions.UseHttps(Certificate));
                     }
                 })
                 .UseContentRoot(contentRoot)
@@ -643,6 +645,7 @@ namespace Emby.Server.Implementations
                     app.UseWebSockets();
 
                     app.UseResponseCompression();
+
                     // TODO app.UseMiddleware<WebSocketMiddleware>();
                     app.Use(ExecuteWebsocketHandlerAsync);
                     app.Use(ExecuteHttpHandlerAsync);
@@ -1044,8 +1047,8 @@ namespace Emby.Server.Implementations
                 .Cast<IServerEntryPoint>()
                 .ToList();
 
-            await Task.WhenAll(StartEntryPoints(entries, true));
-            await Task.WhenAll(StartEntryPoints(entries, false));
+            await Task.WhenAll(StartEntryPoints(entries, true)).ConfigureAwait(false);
+            await Task.WhenAll(StartEntryPoints(entries, false)).ConfigureAwait(false);
         }
 
         /// <summary>
@@ -1458,15 +1461,10 @@ namespace Emby.Server.Implementations
             };
         }
 
-        public WakeOnLanInfo[] GetWakeOnLanInfo()
-        {
-            return NetworkManager.GetMacAddresses()
-                .Select(i => new WakeOnLanInfo
-                {
-                    MacAddress = i
-                })
-                .ToArray();
-        }
+        public IEnumerable<WakeOnLanInfo> GetWakeOnLanInfo()
+            => NetworkManager.GetMacAddresses()
+                .Select(i => new WakeOnLanInfo(i))
+                .ToList();
 
         public async Task<PublicSystemInfo> GetPublicSystemInfo(CancellationToken cancellationToken)
         {
@@ -1482,6 +1480,7 @@ namespace Emby.Server.Implementations
             {
                 wanAddress = GetWanApiUrl(ServerConfigurationManager.Configuration.WanDdns);
             }
+
             return new PublicSystemInfo
             {
                 Version = ApplicationVersion,

+ 0 - 1
Emby.Server.Implementations/Devices/DeviceId.cs

@@ -2,7 +2,6 @@ using System;
 using System.IO;
 using System.Text;
 using MediaBrowser.Common.Configuration;
-using MediaBrowser.Model.IO;
 using Microsoft.Extensions.Logging;
 
 namespace Emby.Server.Implementations.Devices

+ 1 - 0
Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs

@@ -58,6 +58,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
                     UserAgent = _appHost.ApplicationUserAgent
                 });
             }
+
             return Task.FromResult((Stream)File.OpenRead(url));
         }
 

+ 9 - 29
Emby.Server.Implementations/Networking/NetworkManager.cs

@@ -425,47 +425,27 @@ namespace Emby.Server.Implementations.Networking
             var localEndPoint = new IPEndPoint(IPAddress.Any, 0);
             using (var udpClient = new UdpClient(localEndPoint))
             {
-                var port = ((IPEndPoint)(udpClient.Client.LocalEndPoint)).Port;
+                var port = ((IPEndPoint)udpClient.Client.LocalEndPoint).Port;
                 return port;
             }
         }
 
-        private List<string> _macAddresses;
-        public List<string> GetMacAddresses()
+        private List<PhysicalAddress> _macAddresses;
+        public List<PhysicalAddress> GetMacAddresses()
         {
             if (_macAddresses == null)
             {
-                _macAddresses = GetMacAddressesInternal();
+                _macAddresses = GetMacAddressesInternal().ToList();
             }
+
             return _macAddresses;
         }
 
-        private static List<string> GetMacAddressesInternal()
-        {
-            return NetworkInterface.GetAllNetworkInterfaces()
+        private static IEnumerable<PhysicalAddress> GetMacAddressesInternal()
+            => NetworkInterface.GetAllNetworkInterfaces()
                 .Where(i => i.NetworkInterfaceType != NetworkInterfaceType.Loopback)
-                .Select(i =>
-                {
-                    try
-                    {
-                        var physicalAddress = i.GetPhysicalAddress();
-
-                        if (physicalAddress == null)
-                        {
-                            return null;
-                        }
-
-                        return physicalAddress.ToString();
-                    }
-                    catch (Exception)
-                    {
-                        //TODO Log exception.
-                        return null;
-                    }
-                })
-                .Where(i => i != null)
-                .ToList();
-        }
+                .Select(x => x.GetPhysicalAddress())
+                .Where(x => x != null && x != PhysicalAddress.None);
 
         /// <summary>
         /// Parses the specified endpointstring.

+ 5 - 6
Jellyfin.Server/Program.cs

@@ -18,7 +18,6 @@ using Jellyfin.Drawing.Skia;
 using MediaBrowser.Common.Configuration;
 using MediaBrowser.Controller.Drawing;
 using MediaBrowser.Model.Globalization;
-using MediaBrowser.Model.IO;
 using Microsoft.Extensions.Configuration;
 using Microsoft.Extensions.DependencyInjection;
 using Microsoft.Extensions.Logging;
@@ -41,12 +40,12 @@ namespace Jellyfin.Server
             // For backwards compatibility.
             // Modify any input arguments now which start with single-hyphen to POSIX standard
             // double-hyphen to allow parsing by CommandLineParser package.
-            const string pattern = @"^(-[^-\s]{2})"; // Match -xx, not -x, not --xx, not xx
-            const string substitution = @"-$1"; // Prepend with additional single-hyphen
-            var regex = new Regex(pattern);
+            const string Pattern = @"^(-[^-\s]{2})"; // Match -xx, not -x, not --xx, not xx
+            const string Substitution = @"-$1"; // Prepend with additional single-hyphen
+            var regex = new Regex(Pattern);
             for (var i = 0; i < args.Length; i++)
             {
-                args[i] = regex.Replace(args[i], substitution);
+                args[i] = regex.Replace(args[i], Substitution);
             }
 
             // Parse the command line arguments and either start the app or exit indicating error
@@ -134,7 +133,7 @@ namespace Jellyfin.Server
             Batteries_V2.Init();
             if (raw.sqlite3_enable_shared_cache(1) != raw.SQLITE_OK)
             {
-                Console.WriteLine("WARN: Failed to enable shared cache for SQLite");
+                _logger.LogWarning("Failed to enable shared cache for SQLite");
             }
 
             using (var appHost = new CoreAppHost(

+ 2 - 2
MediaBrowser.Common/Net/INetworkManager.cs

@@ -1,7 +1,7 @@
 using System;
 using System.Collections.Generic;
 using System.Net;
-using System.Threading.Tasks;
+using System.Net.NetworkInformation;
 using MediaBrowser.Model.IO;
 using MediaBrowser.Model.Net;
 
@@ -25,7 +25,7 @@ namespace MediaBrowser.Common.Net
         /// Returns MAC Address from first Network Card in Computer
         /// </summary>
         /// <returns>[string] MAC Address</returns>
-        List<string> GetMacAddresses();
+        List<PhysicalAddress> GetMacAddresses();
 
         /// <summary>
         /// Determines whether [is in private address space] [the specified endpoint].

+ 1 - 1
MediaBrowser.Controller/IServerApplicationHost.cs

@@ -83,7 +83,7 @@ namespace MediaBrowser.Controller
 
         void EnableLoopback(string appName);
 
-        WakeOnLanInfo[] GetWakeOnLanInfo();
+        IEnumerable<WakeOnLanInfo> GetWakeOnLanInfo();
 
         string ExpandVirtualPath(string path);
         string ReverseVirtualPath(string path);

+ 37 - 0
MediaBrowser.Model/System/WakeOnLanInfo.cs

@@ -1,10 +1,47 @@
+using System.Net.NetworkInformation;
+
 namespace MediaBrowser.Model.System
 {
+    /// <summary>
+    /// Provides the MAC address and port for wake-on-LAN functionality.
+    /// </summary>
     public class WakeOnLanInfo
     {
+        /// <summary>
+        /// Returns the MAC address of the device.
+        /// </summary>
+        /// <value>The MAC address.</value>
         public string MacAddress { get; set; }
+
+        /// <summary>
+        /// Returns the wake-on-LAN port.
+        /// </summary>
+        /// <value>The wake-on-LAN port.</value>
         public int Port { get; set; }
 
+        /// <summary>
+        /// Initializes a new instance of the <see cref="WakeOnLanInfo" /> class.
+        /// </summary>
+        /// <param name="macAddress">The MAC address.</param>
+        public WakeOnLanInfo(PhysicalAddress macAddress)
+        {
+            MacAddress = macAddress.ToString();
+            Port = 9;
+        }
+
+        /// <summary>
+        /// Initializes a new instance of the <see cref="WakeOnLanInfo" /> class.
+        /// </summary>
+        /// <param name="macAddress">The MAC address.</param>
+        public WakeOnLanInfo(string macAddress)
+        {
+            MacAddress = macAddress;
+            Port = 9;
+        }
+
+        /// <summary>
+        /// Initializes a new instance of the <see cref="WakeOnLanInfo" /> class.
+        /// </summary>
         public WakeOnLanInfo()
         {
             Port = 9;