X-Git-Url: https://code.grnet.gr/git/pithos-ms-client/blobdiff_plain/b5061ac83447e3fda486b9a81f12a37e340f6971..7d915c34d5a6ec34fe8b5b821f89630eae739a32:/trunk/Pithos.Core/IStatusKeeper.cs diff --git a/trunk/Pithos.Core/IStatusKeeper.cs b/trunk/Pithos.Core/IStatusKeeper.cs index badbcf7..810640a 100644 --- a/trunk/Pithos.Core/IStatusKeeper.cs +++ b/trunk/Pithos.Core/IStatusKeeper.cs @@ -1,7 +1,9 @@ using System; using System.Collections.Generic; using System.Diagnostics.Contracts; +using System.IO; using System.Linq; +using System.Threading; using Pithos.Interfaces; namespace Pithos.Core @@ -18,6 +20,16 @@ namespace Pithos.Core void SetPithosStatus(PithosStatus status); FileOverlayStatus GetFileOverlayStatus(string path); IEnumerable StoreUnversionedFiles(ParallelQuery paths); + void Stop(); + void SetFileState(string path, FileStatus fileStatus, FileOverlayStatus overlayStatus); + void StoreInfo(string path, ObjectInfo objectInfo); + T GetStatus(string path,Func getter,T defaultValue ); + void SetStatus(string path, Action setter); + void SetNetworkState(string fileName, NetworkState uploading); + NetworkState GetNetworkState(string fileName); + + void StartProcessing(CancellationToken token); + } [ContractClassFor(typeof(IStatusKeeper))] @@ -72,6 +84,48 @@ namespace Pithos.Core return default(IEnumerable); } + public void Stop() + { + + } + + public void SetFileState(string path, FileStatus fileStatus, FileOverlayStatus overlayStatus) + { + Contract.Requires(!String.IsNullOrWhiteSpace(path)); + } + + public void StoreInfo(string path, ObjectInfo objectInfo) + { + Contract.Requires(!String.IsNullOrWhiteSpace(path)); + Contract.Requires(objectInfo!=null); + } + + public T GetStatus(string path, Func getter, T defaultValue) + { + Contract.Requires(!String.IsNullOrWhiteSpace(path)); + Contract.Requires(getter!=null); + + return default(T); + } + + public void SetStatus(string path, Action setter) + { + Contract.Requires(!String.IsNullOrWhiteSpace(path)); + Contract.Requires(setter != null); + } + + public void SetNetworkState(string path, NetworkState uploading) + { + Contract.Requires(!String.IsNullOrWhiteSpace(path)); + } + + public NetworkState GetNetworkState(string path) + { + Contract.Requires(!String.IsNullOrWhiteSpace(path)); + + return default(NetworkState); + } + public void ClearFileStatus(string path) { Contract.Requires(!String.IsNullOrWhiteSpace(path)); @@ -80,5 +134,11 @@ namespace Pithos.Core public void SetPithosStatus(PithosStatus status) { } + + public void StartProcessing(CancellationToken token) + { + Contract.Requires(token != null, "token can't be empty"); + } + } }