root / trunk / Pithos.Interfaces / IStatusChecker.cs @ 0eea575a
History | View | Annotate | Download (1.1 kB)
1 |
using System; |
---|---|
2 |
using System.Collections.Generic; |
3 |
using System.Diagnostics.Contracts; |
4 |
using System.Linq; |
5 |
using System.Text; |
6 |
|
7 |
namespace Pithos.Interfaces |
8 |
{ |
9 |
[ContractClass(typeof(IStatusCheckerContract))] |
10 |
public interface IStatusChecker |
11 |
{ |
12 |
FileOverlayStatus GetFileOverlayStatus(string path); |
13 |
|
14 |
PithosStatus GetPithosStatus(); |
15 |
|
16 |
} |
17 |
|
18 |
[ContractClassFor(typeof(IStatusChecker))] |
19 |
public abstract class IStatusCheckerContract:IStatusChecker |
20 |
{ |
21 |
public FileOverlayStatus GetFileOverlayStatus(string path) |
22 |
{ |
23 |
Contract.Requires(!String.IsNullOrWhiteSpace(path),"Null or empty paths not allowed"); |
24 |
|
25 |
return default(FileOverlayStatus); |
26 |
} |
27 |
|
28 |
public PithosStatus GetPithosStatus() |
29 |
{ |
30 |
return default(PithosStatus); |
31 |
} |
32 |
} |
33 |
|
34 |
public enum FileOverlayStatus |
35 |
{ |
36 |
Deleted=-2, |
37 |
Unversioned=-1, |
38 |
Normal=0, |
39 |
Modified=1, |
40 |
Conflict=2, |
41 |
Synch=3 |
42 |
} |
43 |
|
44 |
public enum PithosStatus |
45 |
{ |
46 |
InSynch, |
47 |
Syncing, |
48 |
SyncPaused, |
49 |
HasConflicts, |
50 |
Disconnected |
51 |
} |
52 |
} |