2 using System.Diagnostics.Contracts;
3 using Pithos.Interfaces;
7 [ContractClass(typeof(IStatusKeeperContract))]
8 public interface IStatusKeeper
10 void SetFileOverlayStatus(string path,FileOverlayStatus status);
11 void UpdateFileChecksum(string path, string checksum);
12 void RemoveFileOverlayStatus(string path);
13 void SetFileStatus(string path, FileStatus status);
14 FileStatus GetFileStatus(string path);
15 void ClearFileStatus(string path);
16 void SetPithosStatus(PithosStatus status);
19 [ContractClassFor(typeof(IStatusKeeper))]
20 public abstract class IStatusKeeperContract : IStatusKeeper
22 public void SetFileOverlayStatus(string path, FileOverlayStatus status)
24 Contract.Requires(!String.IsNullOrWhiteSpace(path));
27 public void UpdateFileChecksum(string path, string checksum)
29 Contract.Requires(!String.IsNullOrWhiteSpace(path));
30 Contract.Requires(checksum!=null);
33 public void RemoveFileOverlayStatus(string path)
35 Contract.Requires(!String.IsNullOrWhiteSpace(path));
38 public void RenameFileOverlayStatus(string oldPath, string newPath)
40 Contract.Requires(!String.IsNullOrWhiteSpace(oldPath));
41 Contract.Requires(!String.IsNullOrWhiteSpace(newPath));
45 public void SetFileStatus(string path, FileStatus status)
47 Contract.Requires(!String.IsNullOrWhiteSpace(path));
50 public FileStatus GetFileStatus(string path)
52 Contract.Requires(!String.IsNullOrWhiteSpace(path));
54 return default(FileStatus);
57 public void ClearFileStatus(string path)
59 Contract.Requires(!String.IsNullOrWhiteSpace(path));
62 public void SetPithosStatus(PithosStatus status)