#pragma warning disable CA1002, CA1819, CS1591 using System.Collections.Generic; using MediaBrowser.Model.IO; namespace MediaBrowser.Controller.Providers { public interface IDirectoryService { FileSystemMetadata[] GetFileSystemEntries(string path); List GetDirectories(string path); List GetFiles(string path); FileSystemMetadata? GetFile(string path); FileSystemMetadata? GetDirectory(string path); FileSystemMetadata? GetFileSystemEntry(string path); IReadOnlyList GetFilePaths(string path); IReadOnlyList GetFilePaths(string path, bool clearCache); /// /// Forgets what is cached about a path and about the directory containing it. /// /// The file or directory path that changed. void Invalidate(string path); /// /// Moves a directory and forgets what is cached about both paths. /// /// The directory to move. /// The path to move the directory to. void Move(string source, string destination); bool IsAccessible(string path); } }