mirror of
				https://github.com/jellyfin/jellyfin.git
				synced 2025-10-31 10:37:22 -04:00 
			
		
		
		
	* Enable nullable * Add a fast return to ReportFileSystemChanged when path should be ignored * Use Span overloads of Path.* functions where possible * IFileSystem: remove NormalizePath as Path.TrimEndingDirectorySeparator already checks if it's a root path
		
			
				
	
	
		
			36 lines
		
	
	
		
			954 B
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			954 B
		
	
	
	
		
			C#
		
	
	
	
	
	
| #pragma warning disable CS1591
 | |
| 
 | |
| using System;
 | |
| using System.IO;
 | |
| using MediaBrowser.Model.IO;
 | |
| 
 | |
| namespace Emby.Server.Implementations.IO
 | |
| {
 | |
|     public class MbLinkShortcutHandler : IShortcutHandler
 | |
|     {
 | |
|         public string Extension => ".mblink";
 | |
| 
 | |
|         public string? Resolve(string shortcutPath)
 | |
|         {
 | |
|             ArgumentException.ThrowIfNullOrEmpty(shortcutPath);
 | |
| 
 | |
|             if (Path.GetExtension(shortcutPath.AsSpan()).Equals(".mblink", StringComparison.OrdinalIgnoreCase))
 | |
|             {
 | |
|                 var path = File.ReadAllText(shortcutPath);
 | |
| 
 | |
|                 return Path.TrimEndingDirectorySeparator(path);
 | |
|             }
 | |
| 
 | |
|             return null;
 | |
|         }
 | |
| 
 | |
|         public void Create(string shortcutPath, string targetPath)
 | |
|         {
 | |
|             ArgumentException.ThrowIfNullOrEmpty(shortcutPath);
 | |
|             ArgumentException.ThrowIfNullOrEmpty(targetPath);
 | |
| 
 | |
|             File.WriteAllText(shortcutPath, targetPath);
 | |
|         }
 | |
|     }
 | |
| }
 |