1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- using System;
- using System.IO;
- using MediaBrowser.Model.IO;
- namespace Emby.Server.Implementations.IO
- {
- public class MbLinkShortcutHandler : IShortcutHandler
- {
- private readonly IFileSystem _fileSystem;
- public MbLinkShortcutHandler(IFileSystem fileSystem)
- {
- _fileSystem = fileSystem;
- }
- public string Extension => ".mblink";
- public string Resolve(string shortcutPath)
- {
- if (string.IsNullOrEmpty(shortcutPath))
- {
- throw new ArgumentException("Shortcut path is empty or null.", nameof(shortcutPath));
- }
- if (string.Equals(Path.GetExtension(shortcutPath), ".mblink", StringComparison.OrdinalIgnoreCase))
- {
- var path = File.ReadAllText(shortcutPath);
- return _fileSystem.NormalizePath(path);
- }
- return null;
- }
- public void Create(string shortcutPath, string targetPath)
- {
- if (string.IsNullOrEmpty(shortcutPath))
- {
- throw new ArgumentNullException(nameof(shortcutPath));
- }
- if (string.IsNullOrEmpty(targetPath))
- {
- throw new ArgumentNullException(nameof(targetPath));
- }
- File.WriteAllText(shortcutPath, targetPath);
- }
- }
- }
|