X-Git-Url: https://code.grnet.gr/git/pithos-ms-client/blobdiff_plain/1caef52ee05a66de6404903b1d1191afee6a4704..a27aa4479e60923c850cab41a5b16704805dbb08:/trunk/Pithos.Core/Agents/CloudAction.cs diff --git a/trunk/Pithos.Core/Agents/CloudAction.cs b/trunk/Pithos.Core/Agents/CloudAction.cs index 05173c8..90f2455 100644 --- a/trunk/Pithos.Core/Agents/CloudAction.cs +++ b/trunk/Pithos.Core/Agents/CloudAction.cs @@ -21,14 +21,17 @@ namespace Pithos.Core.Agents public CloudActionType Action { get; set; } public FileInfo LocalFile { get; set; } public ObjectInfo CloudFile { get; set; } + public FileState FileState { get; set; } public Lazy LocalHash { get; private set; } + public Lazy TopHash { get; set; } public string OldFileName { get; set; } public string OldPath { get; set; } public string NewFileName { get; set; } public string NewPath { get; set; } + public CloudAction(CloudActionType action, string oldPath, string oldFileName, string newFileName, string newPath) { Action = action; @@ -39,14 +42,24 @@ namespace Pithos.Core.Agents LocalHash = new Lazy(() => Signature.CalculateMD5(NewFileName), LazyThreadSafetyMode.ExecutionAndPublication); } - public CloudAction(CloudActionType action, FileInfo localFile, ObjectInfo cloudFile) + public CloudAction(CloudActionType action, FileInfo localFile, ObjectInfo cloudFile,FileState state) { Action = action; LocalFile = localFile; CloudFile = cloudFile; - //Skip Hash calculation for folders + FileState = state; if (LocalFile != null) - LocalHash = new Lazy(() => Signature.CalculateMD5(LocalFile.FullName), LazyThreadSafetyMode.ExecutionAndPublication); + { + LocalHash = new Lazy(() => Signature.CalculateMD5(LocalFile), + LazyThreadSafetyMode.ExecutionAndPublication); + } + } + + //Constructor for downloading files + public CloudAction(CloudActionType action, ObjectInfo cloudFile) + { + Action = action; + CloudFile = cloudFile; } }