Statistics
| Branch: | Revision:

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

History | View | Annotate | Download (1.1 kB)

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