Notification changes
[pithos-ms-client] / trunk / Pithos.Core / IStatusKeeper.cs
index fa707dc..fb4cdab 100644 (file)
@@ -45,6 +45,7 @@ using System.Diagnostics.Contracts;
 using System.IO;
 using System.Linq;
 using System.Threading;
+using System.Threading.Tasks;
 using Pithos.Interfaces;
 
 namespace Pithos.Core
@@ -52,12 +53,11 @@ namespace Pithos.Core
     [ContractClass(typeof(IStatusKeeperContract))]
     public interface IStatusKeeper
     {
-        void SetFileOverlayStatus(string path,FileOverlayStatus status);
-        void UpdateFileChecksum(string path, string checksum);
+        Task SetFileOverlayStatus(string path, FileOverlayStatus status, string shortHash = null);
+        void UpdateFileChecksum(string path, string shortHash, string checksum);
         void SetFileStatus(string path, FileStatus status);
         FileStatus GetFileStatus(string path);
         void ClearFileStatus(string path);
-        void SetPithosStatus(PithosStatus status);
         FileOverlayStatus GetFileOverlayStatus(string path);
         void ProcessExistingFiles(IEnumerable<FileInfo> paths);
         void Stop();
@@ -74,18 +74,20 @@ namespace Pithos.Core
         FileState GetStateByFilePath(string path);
         void ClearFolderStatus(string path);
         IEnumerable<FileState> GetChildren(FileState fileState);
+        void EnsureFileState(string path);
     }
 
     [ContractClassFor(typeof(IStatusKeeper))]
     public abstract class IStatusKeeperContract : IStatusKeeper
     {
-        public void SetFileOverlayStatus(string path, FileOverlayStatus status)
+        public Task SetFileOverlayStatus(string path, FileOverlayStatus status, string shortHash = null)
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
             Contract.Requires(Path.IsPathRooted(path));
+            return default(Task);
         }
 
-        public void UpdateFileChecksum(string path, string checksum)
+        public void UpdateFileChecksum(string path, string shortHash, string checksum)
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
             Contract.Requires(checksum!=null);
@@ -228,5 +230,10 @@ namespace Pithos.Core
             Contract.Ensures(Contract.Result<IEnumerable<FileState>>()!=null);
             return default(IEnumerable<FileState>);
         }
+
+        public void EnsureFileState(string path)
+        {
+            
+        }
     }
 }