Statistics
| Branch: | Revision:

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
}