2 using System.Collections.Generic;
3 using System.Diagnostics.Contracts;
5 using Pithos.Interfaces;
9 [ContractClass(typeof(IStatusKeeperContract))]
10 public interface IStatusKeeper
12 void SetFileOverlayStatus(string path,FileOverlayStatus status);
13 void UpdateFileChecksum(string path, string checksum);
14 void RemoveFileOverlayStatus(string path);
15 void SetFileStatus(string path, FileStatus status);
16 FileStatus GetFileStatus(string path);
17 void ClearFileStatus(string path);
18 void SetPithosStatus(PithosStatus status);
19 FileOverlayStatus GetFileOverlayStatus(string path);
20 IEnumerable<string> StoreUnversionedFiles(ParallelQuery<string> paths);
24 [ContractClassFor(typeof(IStatusKeeper))]
25 public abstract class IStatusKeeperContract : IStatusKeeper
27 public void SetFileOverlayStatus(string path, FileOverlayStatus status)
29 Contract.Requires(!String.IsNullOrWhiteSpace(path));
32 public void UpdateFileChecksum(string path, string checksum)
34 Contract.Requires(!String.IsNullOrWhiteSpace(path));
35 Contract.Requires(checksum!=null);
38 public void RemoveFileOverlayStatus(string path)
40 Contract.Requires(!String.IsNullOrWhiteSpace(path));
43 public void RenameFileOverlayStatus(string oldPath, string newPath)
45 Contract.Requires(!String.IsNullOrWhiteSpace(oldPath));
46 Contract.Requires(!String.IsNullOrWhiteSpace(newPath));
50 public void SetFileStatus(string path, FileStatus status)
52 Contract.Requires(!String.IsNullOrWhiteSpace(path));
55 public FileStatus GetFileStatus(string path)
57 Contract.Requires(!String.IsNullOrWhiteSpace(path));
59 return default(FileStatus);
62 public FileOverlayStatus GetFileOverlayStatus(string path)
64 Contract.Requires(!String.IsNullOrWhiteSpace(path));
66 return default(FileOverlayStatus);
69 public IEnumerable<string> StoreUnversionedFiles(ParallelQuery<string> paths)
71 Contract.Requires(paths!=null);
73 return default(IEnumerable<string>);
81 public void ClearFileStatus(string path)
83 Contract.Requires(!String.IsNullOrWhiteSpace(path));
86 public void SetPithosStatus(PithosStatus status)