root / trunk / Pithos.ShellExtensions.Test / TestStatusChecker.cs @ f2d88248
History | View | Annotate | Download (1005 Bytes)
1 | d78cbf09 | Panagiotis Kanavos | using System; |
---|---|---|---|
2 | d78cbf09 | Panagiotis Kanavos | using System.ComponentModel.Composition; |
3 | d78cbf09 | Panagiotis Kanavos | using System.Diagnostics; |
4 | d78cbf09 | Panagiotis Kanavos | using System.Diagnostics.Contracts; |
5 | d78cbf09 | Panagiotis Kanavos | using System.IO; |
6 | d78cbf09 | Panagiotis Kanavos | using Pithos.Interfaces; |
7 | d78cbf09 | Panagiotis Kanavos | |
8 | d78cbf09 | Panagiotis Kanavos | namespace Pithos.ShellExtensions |
9 | d78cbf09 | Panagiotis Kanavos | { |
10 | d78cbf09 | Panagiotis Kanavos | [Export(typeof(IStatusChecker))] |
11 | d78cbf09 | Panagiotis Kanavos | public class TestStatusChecker:IStatusChecker |
12 | d78cbf09 | Panagiotis Kanavos | { |
13 | d78cbf09 | Panagiotis Kanavos | [Import] |
14 | d78cbf09 | Panagiotis Kanavos | private IPithosSettings Settings; |
15 | d78cbf09 | Panagiotis Kanavos | |
16 | d78cbf09 | Panagiotis Kanavos | private readonly string[] _states = {"Normal", "Modified", "Conflict","Synch"}; |
17 | d78cbf09 | Panagiotis Kanavos | |
18 | d78cbf09 | Panagiotis Kanavos | public string GetFileStatus(string path) |
19 | d78cbf09 | Panagiotis Kanavos | { |
20 | d78cbf09 | Panagiotis Kanavos | Contract.Requires(!String.IsNullOrWhiteSpace(path)); |
21 | d78cbf09 | Panagiotis Kanavos | var pithosPath = Settings.PithosPath; |
22 | d78cbf09 | Panagiotis Kanavos | if (path.StartsWith(pithosPath,true,null)) |
23 | d78cbf09 | Panagiotis Kanavos | { |
24 | d78cbf09 | Panagiotis Kanavos | var fileName = Path.GetFileName(path); |
25 | d78cbf09 | Panagiotis Kanavos | if (String.IsNullOrWhiteSpace(fileName)) |
26 | d78cbf09 | Panagiotis Kanavos | return _states[0]; |
27 | d78cbf09 | Panagiotis Kanavos | |
28 | d78cbf09 | Panagiotis Kanavos | var status = Char.ConvertToUtf32(fileName, 0)%4; |
29 | d78cbf09 | Panagiotis Kanavos | return _states[status]; |
30 | d78cbf09 | Panagiotis Kanavos | } |
31 | d78cbf09 | Panagiotis Kanavos | return String.Empty; |
32 | d78cbf09 | Panagiotis Kanavos | } |
33 | d78cbf09 | Panagiotis Kanavos | } |
34 | d78cbf09 | Panagiotis Kanavos | } |