Statistics
| Branch: | Revision:

root / trunk / Pithos.Interfaces / IStatusChecker.cs @ 42800be8

History | View | Annotate | Download (1.1 kB)

1
using System;
2
using System.Collections.Generic;
3
using System.Diagnostics.Contracts;
4
using System.IO;
5
using System.Linq;
6
using System.Text;
7
using System.Threading;
8

    
9
namespace Pithos.Interfaces
10
{
11
    [ContractClass(typeof(IStatusCheckerContract))]
12
    public interface IStatusChecker
13
    {
14
        FileOverlayStatus GetFileOverlayStatus(string path);
15

    
16
        PithosStatus GetPithosStatus();        
17

    
18
    }
19

    
20
    [ContractClassFor(typeof(IStatusChecker))]
21
    public abstract class IStatusCheckerContract:IStatusChecker
22
    {
23
        public FileOverlayStatus GetFileOverlayStatus(string path)
24
        {
25
            Contract.Requires(!String.IsNullOrWhiteSpace(path),"Null or empty paths not allowed");
26

    
27
            return default(FileOverlayStatus);
28
        }
29

    
30
        public PithosStatus GetPithosStatus()
31
        {
32
            return default(PithosStatus);
33
        }
34

    
35
    }
36

    
37
    public enum FileOverlayStatus
38
    {
39
        Deleted=-2,
40
        Unversioned=-1,
41
        Normal=0,
42
        Modified=1,
43
        Conflict=2
44
    }
45

    
46
    public enum PithosStatus
47
    {
48
        InSynch,
49
        Syncing,
50
        SyncPaused,
51
        HasConflicts,
52
        Disconnected
53
    }
54
}