diff options
Diffstat (limited to 'MediaBrowser.Common')
| -rw-r--r-- | MediaBrowser.Common/IO/IFileSystem.cs | 78 | ||||
| -rw-r--r-- | MediaBrowser.Common/MediaBrowser.Common.csproj | 1 |
2 files changed, 79 insertions, 0 deletions
diff --git a/MediaBrowser.Common/IO/IFileSystem.cs b/MediaBrowser.Common/IO/IFileSystem.cs new file mode 100644 index 000000000..d307b74e5 --- /dev/null +++ b/MediaBrowser.Common/IO/IFileSystem.cs @@ -0,0 +1,78 @@ +using System; +using System.IO; + +namespace MediaBrowser.Common.IO +{ + /// <summary> + /// Interface IFileSystem + /// </summary> + public interface IFileSystem + { + /// <summary> + /// Determines whether the specified filename is shortcut. + /// </summary> + /// <param name="filename">The filename.</param> + /// <returns><c>true</c> if the specified filename is shortcut; otherwise, <c>false</c>.</returns> + bool IsShortcut(string filename); + + /// <summary> + /// Resolves the shortcut. + /// </summary> + /// <param name="filename">The filename.</param> + /// <returns>System.String.</returns> + string ResolveShortcut(string filename); + + /// <summary> + /// Creates the shortcut. + /// </summary> + /// <param name="shortcutPath">The shortcut path.</param> + /// <param name="target">The target.</param> + void CreateShortcut(string shortcutPath, string target); + + /// <summary> + /// Gets the file system info. + /// </summary> + /// <param name="path">The path.</param> + /// <returns>FileSystemInfo.</returns> + FileSystemInfo GetFileSystemInfo(string path); + + /// <summary> + /// Gets the valid filename. + /// </summary> + /// <param name="filename">The filename.</param> + /// <returns>System.String.</returns> + string GetValidFilename(string filename); + + /// <summary> + /// Gets the creation time UTC. + /// </summary> + /// <param name="info">The info.</param> + /// <returns>DateTime.</returns> + DateTime GetCreationTimeUtc(FileSystemInfo info); + + /// <summary> + /// Gets the last write time UTC. + /// </summary> + /// <param name="info">The information.</param> + /// <returns>DateTime.</returns> + DateTime GetLastWriteTimeUtc(FileSystemInfo info); + + /// <summary> + /// Gets the last write time UTC. + /// </summary> + /// <param name="path">The path.</param> + /// <returns>DateTime.</returns> + DateTime GetLastWriteTimeUtc(string path); + + /// <summary> + /// Gets the file stream. + /// </summary> + /// <param name="path">The path.</param> + /// <param name="mode">The mode.</param> + /// <param name="access">The access.</param> + /// <param name="share">The share.</param> + /// <param name="isAsync">if set to <c>true</c> [is asynchronous].</param> + /// <returns>FileStream.</returns> + FileStream GetFileStream(string path, FileMode mode, FileAccess access, FileShare share, bool isAsync = false); + } +} diff --git a/MediaBrowser.Common/MediaBrowser.Common.csproj b/MediaBrowser.Common/MediaBrowser.Common.csproj index 8acd1a83c..f4d759a4d 100644 --- a/MediaBrowser.Common/MediaBrowser.Common.csproj +++ b/MediaBrowser.Common/MediaBrowser.Common.csproj @@ -60,6 +60,7 @@ <Compile Include="Events\GenericEventArgs.cs" /> <Compile Include="Extensions\ResourceNotFoundException.cs" /> <Compile Include="IO\FileSystemRepository.cs" /> + <Compile Include="IO\IFileSystem.cs" /> <Compile Include="IO\ProgressStream.cs" /> <Compile Include="IO\StreamDefaults.cs" /> <Compile Include="MediaInfo\MediaInfoResult.cs" /> |
