Added Permissions, Tags
[pithos-ms-client] / trunk / Pithos.Core / IStatusKeeper.cs
index 080d898..b4f2163 100644 (file)
@@ -13,7 +13,6 @@ namespace Pithos.Core
     {
         void SetFileOverlayStatus(string path,FileOverlayStatus status);
         void UpdateFileChecksum(string path, string checksum);
     {
         void SetFileOverlayStatus(string path,FileOverlayStatus status);
         void UpdateFileChecksum(string path, string checksum);
-        void RemoveFileOverlayStatus(string path);
         void SetFileStatus(string path, FileStatus status);
         FileStatus GetFileStatus(string path);
         void ClearFileStatus(string path);
         void SetFileStatus(string path, FileStatus status);
         FileStatus GetFileStatus(string path);
         void ClearFileStatus(string path);
@@ -30,6 +29,7 @@ namespace Pithos.Core
 
         string BlockHash { get; set; }
         int BlockSize { get; set; }
 
         string BlockHash { get; set; }
         int BlockSize { get; set; }
+        void ChangeRoots(string oldPath, string newPath);
     }
 
     [ContractClassFor(typeof(IStatusKeeper))]
     }
 
     [ContractClassFor(typeof(IStatusKeeper))]
@@ -38,34 +38,41 @@ namespace Pithos.Core
         public void SetFileOverlayStatus(string path, FileOverlayStatus status)
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
         public void SetFileOverlayStatus(string path, FileOverlayStatus status)
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
+            Contract.Requires(Path.IsPathRooted(path));
         }
 
         public void UpdateFileChecksum(string path, string checksum)
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
             Contract.Requires(checksum!=null);
         }
 
         public void UpdateFileChecksum(string path, string checksum)
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
             Contract.Requires(checksum!=null);
+            Contract.Requires(Path.IsPathRooted(path));
         }
 
         }
 
-        public void RemoveFileOverlayStatus(string path)
+     /*   public void RemoveFileOverlayStatus(string path)
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
-        }
+            Contract.Requires(Path.IsPathRooted(path));
+        }*/
 
         public void RenameFileOverlayStatus(string oldPath, string newPath)
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(oldPath));
 
         public void RenameFileOverlayStatus(string oldPath, string newPath)
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(oldPath));
+            Contract.Requires(Path.IsPathRooted(oldPath));
             Contract.Requires(!String.IsNullOrWhiteSpace(newPath));
             Contract.Requires(!String.IsNullOrWhiteSpace(newPath));
+            Contract.Requires(Path.IsPathRooted(newPath));
 
         }
 
         public void SetFileStatus(string path, FileStatus status)
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
 
         }
 
         public void SetFileStatus(string path, FileStatus status)
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
+            Contract.Requires(Path.IsPathRooted(path));
         }
 
         public FileStatus GetFileStatus(string path)
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
         }
 
         public FileStatus GetFileStatus(string path)
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
+            Contract.Requires(Path.IsPathRooted(path));
 
             return default(FileStatus);
         }
 
             return default(FileStatus);
         }
@@ -73,6 +80,7 @@ namespace Pithos.Core
         public FileOverlayStatus GetFileOverlayStatus(string path)
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
         public FileOverlayStatus GetFileOverlayStatus(string path)
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
+            Contract.Requires(Path.IsPathRooted(path));
 
             return default(FileOverlayStatus);
         }
 
             return default(FileOverlayStatus);
         }
@@ -80,7 +88,6 @@ namespace Pithos.Core
         public void ProcessExistingFiles(IEnumerable<FileInfo> paths)
         {
             Contract.Requires(paths!=null);
         public void ProcessExistingFiles(IEnumerable<FileInfo> paths)
         {
             Contract.Requires(paths!=null);
-
         }
 
         public void Stop()
         }
 
         public void Stop()
@@ -91,18 +98,21 @@ namespace Pithos.Core
         public void SetFileState(string path, FileStatus fileStatus, FileOverlayStatus overlayStatus)
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
         public void SetFileState(string path, FileStatus fileStatus, FileOverlayStatus overlayStatus)
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
+            Contract.Requires(Path.IsPathRooted(path));
         }
 
         public void StoreInfo(string path, ObjectInfo objectInfo)
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
         }
 
         public void StoreInfo(string path, ObjectInfo objectInfo)
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
-            Contract.Requires(objectInfo!=null);            
+            Contract.Requires(objectInfo!=null);
+            Contract.Requires(Path.IsPathRooted(path));
         }
 
         public T GetStatus<T>(string path, Func<FileState, T> getter, T defaultValue)
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
             Contract.Requires(getter!=null);
         }
 
         public T GetStatus<T>(string path, Func<FileState, T> getter, T defaultValue)
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
             Contract.Requires(getter!=null);
+            Contract.Requires(Path.IsPathRooted(path));
 
             return default(T);
         }
 
             return default(T);
         }
@@ -111,17 +121,20 @@ namespace Pithos.Core
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
             Contract.Requires(setter != null);
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
             Contract.Requires(setter != null);
+            Contract.Requires(Path.IsPathRooted(path));
         }
 
         public void SetNetworkState(string path, NetworkOperation operation)
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
         }
 
         public void SetNetworkState(string path, NetworkOperation operation)
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
-            Contract.Requires(Path.IsPathRooted(path));            
+            Contract.Requires(Path.IsPathRooted(path));
+            Contract.Requires(Path.IsPathRooted(path));
         }
 
         public NetworkOperation GetNetworkState(string path)
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
         }
 
         public NetworkOperation GetNetworkState(string path)
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
+            Contract.Requires(Path.IsPathRooted(path));
 
             return default(NetworkOperation);
         }
 
             return default(NetworkOperation);
         }
@@ -129,6 +142,7 @@ namespace Pithos.Core
         public void ClearFileStatus(string path)
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
         public void ClearFileStatus(string path)
         {
             Contract.Requires(!String.IsNullOrWhiteSpace(path));
+            Contract.Requires(Path.IsPathRooted(path));
         }
 
         public void SetPithosStatus(PithosStatus status)
         }
 
         public void SetPithosStatus(PithosStatus status)
@@ -142,5 +156,12 @@ namespace Pithos.Core
 
         public abstract string BlockHash { get; set; }
         public abstract int BlockSize { get; set; }
 
         public abstract string BlockHash { get; set; }
         public abstract int BlockSize { get; set; }
+        public void ChangeRoots(string oldPath, string newPath)
+        {
+            Contract.Requires(!String.IsNullOrWhiteSpace(oldPath));
+            Contract.Requires(Path.IsPathRooted(oldPath));
+            Contract.Requires(!string.IsNullOrWhiteSpace(newPath));
+            Contract.Requires(Path.IsPathRooted(newPath));            
+        }
     }
 }
     }
 }