Statistics
| Branch: | Revision:

root / trunk / Pithos.Core / StatusService.cs @ 426f53b8

History | View | Annotate | Download (1.4 kB)

1 eeee29e3 Panagiotis Kanavos
// -----------------------------------------------------------------------
2 eeee29e3 Panagiotis Kanavos
// <copyright file="StatusService.cs" company="Microsoft">
3 eeee29e3 Panagiotis Kanavos
// TODO: Update copyright text.
4 eeee29e3 Panagiotis Kanavos
// </copyright>
5 eeee29e3 Panagiotis Kanavos
// -----------------------------------------------------------------------
6 eeee29e3 Panagiotis Kanavos
7 eeee29e3 Panagiotis Kanavos
using Caliburn.Micro;
8 eeee29e3 Panagiotis Kanavos
9 eeee29e3 Panagiotis Kanavos
namespace Pithos.Core
10 eeee29e3 Panagiotis Kanavos
{
11 eeee29e3 Panagiotis Kanavos
    using System;
12 eeee29e3 Panagiotis Kanavos
    using System.Collections.Generic;
13 eeee29e3 Panagiotis Kanavos
    using System.Linq;
14 eeee29e3 Panagiotis Kanavos
    using System.Text;
15 eeee29e3 Panagiotis Kanavos
    using System.ServiceModel;
16 eeee29e3 Panagiotis Kanavos
    using System.ComponentModel.Composition;
17 eeee29e3 Panagiotis Kanavos
    using Pithos.Interfaces;
18 eeee29e3 Panagiotis Kanavos
19 eeee29e3 Panagiotis Kanavos
    /// <summary>
20 eeee29e3 Panagiotis Kanavos
    /// TODO: Update summary.
21 eeee29e3 Panagiotis Kanavos
    /// </summary>
22 eeee29e3 Panagiotis Kanavos
    [ServiceBehavior(IncludeExceptionDetailInFaults = true)]
23 eeee29e3 Panagiotis Kanavos
    [Export]
24 5bcf6d70 Panagiotis Kanavos
    public class StatusService : IStatusService,ISettingsService
25 eeee29e3 Panagiotis Kanavos
    {
26 5bcf6d70 Panagiotis Kanavos
        [Import]
27 5bcf6d70 Panagiotis Kanavos
        public IPithosSettings Settings { get; set; }
28 5bcf6d70 Panagiotis Kanavos
29 5bcf6d70 Panagiotis Kanavos
        [Import]
30 5bcf6d70 Panagiotis Kanavos
        public IStatusChecker Checker { get; set; }
31 eeee29e3 Panagiotis Kanavos
32 eeee29e3 Panagiotis Kanavos
        public StatusService()
33 eeee29e3 Panagiotis Kanavos
        {
34 5bcf6d70 Panagiotis Kanavos
            IoC.BuildUp(this);
35 eeee29e3 Panagiotis Kanavos
        }
36 eeee29e3 Panagiotis Kanavos
37 eeee29e3 Panagiotis Kanavos
        [ImportingConstructor]
38 eeee29e3 Panagiotis Kanavos
        public StatusService(IStatusChecker checker)
39 eeee29e3 Panagiotis Kanavos
        {
40 5bcf6d70 Panagiotis Kanavos
            Checker = checker;
41 eeee29e3 Panagiotis Kanavos
        }
42 eeee29e3 Panagiotis Kanavos
43 eeee29e3 Panagiotis Kanavos
44 eeee29e3 Panagiotis Kanavos
        public FileOverlayStatus GetStatus(string filePath)
45 eeee29e3 Panagiotis Kanavos
        {
46 5bcf6d70 Panagiotis Kanavos
            return Checker.GetFileOverlayStatus(filePath);
47 5bcf6d70 Panagiotis Kanavos
        }
48 5bcf6d70 Panagiotis Kanavos
49 5bcf6d70 Panagiotis Kanavos
        public PithosSettingsData GetSettings()
50 5bcf6d70 Panagiotis Kanavos
        {
51 5bcf6d70 Panagiotis Kanavos
            var data = new PithosSettingsData(Settings);
52 5bcf6d70 Panagiotis Kanavos
            return data;
53 eeee29e3 Panagiotis Kanavos
        }
54 eeee29e3 Panagiotis Kanavos
    }
55 eeee29e3 Panagiotis Kanavos
}