root / trunk / Pithos.Core / IStatusKeeper.cs @ 0eea575a
History | View | Annotate | Download (2.6 kB)
1 | d78cbf09 | Panagiotis Kanavos | using System; |
---|---|---|---|
2 | b5061ac8 | Panagiotis Kanavos | using System.Collections.Generic; |
3 | d78cbf09 | Panagiotis Kanavos | using System.Diagnostics.Contracts; |
4 | b5061ac8 | Panagiotis Kanavos | using System.Linq; |
5 | d78cbf09 | Panagiotis Kanavos | using Pithos.Interfaces; |
6 | d78cbf09 | Panagiotis Kanavos | |
7 | d78cbf09 | Panagiotis Kanavos | namespace Pithos.Core |
8 | d78cbf09 | Panagiotis Kanavos | { |
9 | d78cbf09 | Panagiotis Kanavos | [ContractClass(typeof(IStatusKeeperContract))] |
10 | d78cbf09 | Panagiotis Kanavos | public interface IStatusKeeper |
11 | d78cbf09 | Panagiotis Kanavos | { |
12 | d78cbf09 | Panagiotis Kanavos | void SetFileOverlayStatus(string path,FileOverlayStatus status); |
13 | d78cbf09 | Panagiotis Kanavos | void UpdateFileChecksum(string path, string checksum); |
14 | d78cbf09 | Panagiotis Kanavos | void RemoveFileOverlayStatus(string path); |
15 | d78cbf09 | Panagiotis Kanavos | void SetFileStatus(string path, FileStatus status); |
16 | d78cbf09 | Panagiotis Kanavos | FileStatus GetFileStatus(string path); |
17 | d78cbf09 | Panagiotis Kanavos | void ClearFileStatus(string path); |
18 | 5bcf6d70 | Panagiotis Kanavos | void SetPithosStatus(PithosStatus status); |
19 | b5061ac8 | Panagiotis Kanavos | FileOverlayStatus GetFileOverlayStatus(string path); |
20 | b5061ac8 | Panagiotis Kanavos | IEnumerable<string> StoreUnversionedFiles(ParallelQuery<string> paths); |
21 | 0eea575a | Panagiotis Kanavos | void Stop(); |
22 | d78cbf09 | Panagiotis Kanavos | } |
23 | d78cbf09 | Panagiotis Kanavos | |
24 | d78cbf09 | Panagiotis Kanavos | [ContractClassFor(typeof(IStatusKeeper))] |
25 | d78cbf09 | Panagiotis Kanavos | public abstract class IStatusKeeperContract : IStatusKeeper |
26 | d78cbf09 | Panagiotis Kanavos | { |
27 | d78cbf09 | Panagiotis Kanavos | public void SetFileOverlayStatus(string path, FileOverlayStatus status) |
28 | d78cbf09 | Panagiotis Kanavos | { |
29 | d78cbf09 | Panagiotis Kanavos | Contract.Requires(!String.IsNullOrWhiteSpace(path)); |
30 | d78cbf09 | Panagiotis Kanavos | } |
31 | d78cbf09 | Panagiotis Kanavos | |
32 | d78cbf09 | Panagiotis Kanavos | public void UpdateFileChecksum(string path, string checksum) |
33 | d78cbf09 | Panagiotis Kanavos | { |
34 | d78cbf09 | Panagiotis Kanavos | Contract.Requires(!String.IsNullOrWhiteSpace(path)); |
35 | d78cbf09 | Panagiotis Kanavos | Contract.Requires(checksum!=null); |
36 | d78cbf09 | Panagiotis Kanavos | } |
37 | d78cbf09 | Panagiotis Kanavos | |
38 | d78cbf09 | Panagiotis Kanavos | public void RemoveFileOverlayStatus(string path) |
39 | d78cbf09 | Panagiotis Kanavos | { |
40 | d78cbf09 | Panagiotis Kanavos | Contract.Requires(!String.IsNullOrWhiteSpace(path)); |
41 | d78cbf09 | Panagiotis Kanavos | } |
42 | d78cbf09 | Panagiotis Kanavos | |
43 | d78cbf09 | Panagiotis Kanavos | public void RenameFileOverlayStatus(string oldPath, string newPath) |
44 | d78cbf09 | Panagiotis Kanavos | { |
45 | d78cbf09 | Panagiotis Kanavos | Contract.Requires(!String.IsNullOrWhiteSpace(oldPath)); |
46 | d78cbf09 | Panagiotis Kanavos | Contract.Requires(!String.IsNullOrWhiteSpace(newPath)); |
47 | d78cbf09 | Panagiotis Kanavos | |
48 | d78cbf09 | Panagiotis Kanavos | } |
49 | d78cbf09 | Panagiotis Kanavos | |
50 | d78cbf09 | Panagiotis Kanavos | public void SetFileStatus(string path, FileStatus status) |
51 | d78cbf09 | Panagiotis Kanavos | { |
52 | d78cbf09 | Panagiotis Kanavos | Contract.Requires(!String.IsNullOrWhiteSpace(path)); |
53 | d78cbf09 | Panagiotis Kanavos | } |
54 | d78cbf09 | Panagiotis Kanavos | |
55 | d78cbf09 | Panagiotis Kanavos | public FileStatus GetFileStatus(string path) |
56 | d78cbf09 | Panagiotis Kanavos | { |
57 | d78cbf09 | Panagiotis Kanavos | Contract.Requires(!String.IsNullOrWhiteSpace(path)); |
58 | d78cbf09 | Panagiotis Kanavos | |
59 | d78cbf09 | Panagiotis Kanavos | return default(FileStatus); |
60 | d78cbf09 | Panagiotis Kanavos | } |
61 | d78cbf09 | Panagiotis Kanavos | |
62 | b5061ac8 | Panagiotis Kanavos | public FileOverlayStatus GetFileOverlayStatus(string path) |
63 | b5061ac8 | Panagiotis Kanavos | { |
64 | b5061ac8 | Panagiotis Kanavos | Contract.Requires(!String.IsNullOrWhiteSpace(path)); |
65 | b5061ac8 | Panagiotis Kanavos | |
66 | b5061ac8 | Panagiotis Kanavos | return default(FileOverlayStatus); |
67 | b5061ac8 | Panagiotis Kanavos | } |
68 | b5061ac8 | Panagiotis Kanavos | |
69 | b5061ac8 | Panagiotis Kanavos | public IEnumerable<string> StoreUnversionedFiles(ParallelQuery<string> paths) |
70 | b5061ac8 | Panagiotis Kanavos | { |
71 | b5061ac8 | Panagiotis Kanavos | Contract.Requires(paths!=null); |
72 | b5061ac8 | Panagiotis Kanavos | |
73 | b5061ac8 | Panagiotis Kanavos | return default(IEnumerable<string>); |
74 | b5061ac8 | Panagiotis Kanavos | } |
75 | b5061ac8 | Panagiotis Kanavos | |
76 | 0eea575a | Panagiotis Kanavos | public void Stop() |
77 | 0eea575a | Panagiotis Kanavos | { |
78 | 0eea575a | Panagiotis Kanavos | |
79 | 0eea575a | Panagiotis Kanavos | } |
80 | 0eea575a | Panagiotis Kanavos | |
81 | d78cbf09 | Panagiotis Kanavos | public void ClearFileStatus(string path) |
82 | d78cbf09 | Panagiotis Kanavos | { |
83 | d78cbf09 | Panagiotis Kanavos | Contract.Requires(!String.IsNullOrWhiteSpace(path)); |
84 | d78cbf09 | Panagiotis Kanavos | } |
85 | 5bcf6d70 | Panagiotis Kanavos | |
86 | 5bcf6d70 | Panagiotis Kanavos | public void SetPithosStatus(PithosStatus status) |
87 | 5bcf6d70 | Panagiotis Kanavos | { |
88 | 5bcf6d70 | Panagiotis Kanavos | } |
89 | d78cbf09 | Panagiotis Kanavos | } |
90 | d78cbf09 | Panagiotis Kanavos | } |