private Task <Settings.IFile> CopyAsync(Settings.IFile file) { return(Task.Run( delegate { return Copy(file); })); }
/// <summary> /// Locks the file /// </summary> /// <param name="timeout">The amount of time to try to acquire a lock</param> /// <param name="force">Forces a file with only 1 reference to lock</param> public static ISharedFile Lock(Settings.IFile file, int timeout, bool force = false) { if (file == null || file.References <= 1 && !force) { return(null); } return(Lock(file.Path, timeout)); }
public static SharedFile Lock(Account account, Settings.IFile file, int timeout) { if (file.References <= 1) { return(null); } return(Lock(account, file.Path, timeout)); }
private Settings.IFile Create(Settings.IFile file) { if (file is Settings.IDatFile) { return(Settings.CreateDatFile()); } else if (file is Settings.IGfxFile) { return(Settings.CreateGfxFile()); } else { throw new NotSupportedException(); } }
private Settings.IFile Copy(Settings.IFile file) { if (File.Exists(file.Path)) { var tmp = Path.GetTempFileName(); File.Copy(file.Path, tmp, true); var _file = Create(file); _file.Path = tmp; return(_file); } else { return(Create(file)); } }
public SelectedFile(Settings.IFile file) { this.File = file; }