2018-11-23 07:03:32 +00:00
|
|
|
using System;
|
2014-12-16 07:28:55 +00:00
|
|
|
using System.Collections.Generic;
|
2014-01-06 06:20:08 +00:00
|
|
|
using System.IO;
|
|
|
|
|
|
|
|
namespace NzbDrone.Common.Disk
|
|
|
|
{
|
|
|
|
public interface IDiskProvider
|
|
|
|
{
|
2014-01-14 19:21:20 +00:00
|
|
|
long? GetAvailableSpace(string path);
|
|
|
|
void InheritFolderPermissions(string filename);
|
2020-09-06 02:42:51 +00:00
|
|
|
void SetEveryonePermissions(string filename);
|
2020-11-22 16:25:40 +00:00
|
|
|
void SetFilePermissions(string path, string mask, string group);
|
2020-11-21 04:33:10 +00:00
|
|
|
void SetPermissions(string path, string mask, string group);
|
2020-06-07 17:05:25 +00:00
|
|
|
void CopyPermissions(string sourcePath, string targetPath);
|
2014-01-14 19:21:20 +00:00
|
|
|
long? GetTotalSize(string path);
|
2014-10-14 21:31:35 +00:00
|
|
|
DateTime FolderGetCreationTime(string path);
|
|
|
|
DateTime FolderGetLastWrite(string path);
|
2014-03-13 05:27:36 +00:00
|
|
|
DateTime FileGetLastWrite(string path);
|
2014-01-06 06:20:08 +00:00
|
|
|
void EnsureFolder(string path);
|
|
|
|
bool FolderExists(string path);
|
|
|
|
bool FileExists(string path);
|
2014-12-07 20:54:07 +00:00
|
|
|
bool FileExists(string path, StringComparison stringComparison);
|
2015-01-21 19:59:03 +00:00
|
|
|
bool FolderWritable(string path);
|
2020-05-13 19:27:39 +00:00
|
|
|
bool FolderEmpty(string path);
|
2014-01-06 06:20:08 +00:00
|
|
|
string[] GetDirectories(string path);
|
|
|
|
string[] GetFiles(string path, SearchOption searchOption);
|
|
|
|
long GetFolderSize(string path);
|
|
|
|
long GetFileSize(string path);
|
|
|
|
void CreateFolder(string path);
|
|
|
|
void DeleteFile(string path);
|
2020-06-10 18:48:54 +00:00
|
|
|
void CloneFile(string source, string destination, bool overwrite = false);
|
2014-02-08 02:16:19 +00:00
|
|
|
void CopyFile(string source, string destination, bool overwrite = false);
|
2014-07-30 22:00:55 +00:00
|
|
|
void MoveFile(string source, string destination, bool overwrite = false);
|
2018-02-02 12:23:29 +00:00
|
|
|
void MoveFolder(string source, string destination, bool overwrite = false);
|
2020-06-10 18:48:54 +00:00
|
|
|
bool TryRenameFile(string source, string destination);
|
2014-08-17 18:39:08 +00:00
|
|
|
bool TryCreateHardLink(string source, string destination);
|
2020-06-10 18:48:54 +00:00
|
|
|
bool TryCreateRefLink(string source, string destination);
|
2014-01-06 06:20:08 +00:00
|
|
|
void DeleteFolder(string path, bool recursive);
|
|
|
|
string ReadAllText(string filePath);
|
|
|
|
void WriteAllText(string filename, string contents);
|
2014-10-14 21:31:35 +00:00
|
|
|
void FolderSetLastWriteTime(string path, DateTime dateTime);
|
2014-03-08 19:01:51 +00:00
|
|
|
void FileSetLastWriteTime(string path, DateTime dateTime);
|
2014-01-06 06:20:08 +00:00
|
|
|
bool IsFileLocked(string path);
|
|
|
|
string GetPathRoot(string path);
|
|
|
|
string GetParentFolder(string path);
|
|
|
|
FileAttributes GetFileAttributes(string path);
|
|
|
|
void EmptyFolder(string path);
|
|
|
|
string GetVolumeLabel(string path);
|
2015-01-22 22:12:35 +00:00
|
|
|
FileStream OpenReadStream(string path);
|
|
|
|
FileStream OpenWriteStream(string path);
|
2015-12-30 15:22:41 +00:00
|
|
|
List<IMount> GetMounts();
|
|
|
|
IMount GetMount(string path);
|
2014-12-16 07:28:55 +00:00
|
|
|
List<DirectoryInfo> GetDirectoryInfos(string path);
|
2020-10-07 20:06:03 +00:00
|
|
|
FileInfo GetFileInfo(string path);
|
|
|
|
List<FileInfo> GetFileInfos(string path, SearchOption searchOption = SearchOption.TopDirectoryOnly);
|
2016-02-11 08:38:44 +00:00
|
|
|
void RemoveEmptySubfolders(string path);
|
2018-11-23 07:03:32 +00:00
|
|
|
void SaveStream(Stream stream, string path);
|
2020-11-21 04:33:10 +00:00
|
|
|
bool IsValidFolderPermissionMask(string mask);
|
2014-01-06 06:20:08 +00:00
|
|
|
}
|
2014-12-16 07:28:55 +00:00
|
|
|
}
|