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);
23 [ContractClassFor(typeof(IStatusKeeper))]
24 public abstract class IStatusKeeperContract : IStatusKeeper
26 public void SetFileOverlayStatus(string path, FileOverlayStatus status)
28 Contract.Requires(!String.IsNullOrWhiteSpace(path));
31 public void UpdateFileChecksum(string path, string checksum)
33 Contract.Requires(!String.IsNullOrWhiteSpace(path));
34 Contract.Requires(checksum!=null);
37 public void RemoveFileOverlayStatus(string path)
39 Contract.Requires(!String.IsNullOrWhiteSpace(path));
42 public void RenameFileOverlayStatus(string oldPath, string newPath)
44 Contract.Requires(!String.IsNullOrWhiteSpace(oldPath));
45 Contract.Requires(!String.IsNullOrWhiteSpace(newPath));
49 public void SetFileStatus(string path, FileStatus status)
51 Contract.Requires(!String.IsNullOrWhiteSpace(path));
54 public FileStatus GetFileStatus(string path)
56 Contract.Requires(!String.IsNullOrWhiteSpace(path));
58 return default(FileStatus);
61 public FileOverlayStatus GetFileOverlayStatus(string path)
63 Contract.Requires(!String.IsNullOrWhiteSpace(path));
65 return default(FileOverlayStatus);
68 public IEnumerable<string> StoreUnversionedFiles(ParallelQuery<string> paths)
70 Contract.Requires(paths!=null);
72 return default(IEnumerable<string>);
75 public void ClearFileStatus(string path)
77 Contract.Requires(!String.IsNullOrWhiteSpace(path));
80 public void SetPithosStatus(PithosStatus status)