public static void AddToCache(string md5, FileInfo path, FileCacheOperation operation) { var fileDict = GetFileCacheItems(operation); var dir = GetTempDirectoryInfo(operation); if (IsInCache(path, md5, operation)) { var curItem = GetCacheFileItemHelper(path, md5, operation); var curPath = Path.Combine(dir.FullName, curItem.path); File.Delete(curPath); mFileCache.items.Remove(curItem); fileDict.Remove(path.Name); } RemoveCacheWithoutMd5(path, operation); FileCacheItem item = new FileCacheItem { path = path.Name, Operation = (uint)operation, OriginalName = path.Name }; item.md5 = md5; mFileCache.items.Add(item); fileDict.Add(item.OriginalName, item); string newPath = Path.Combine(dir.FullName, path.Name); File.Copy(path.FullName, newPath, true); Save(); }
public static FileInfo GetCacheNewFileInfo(string path, FileCacheOperation operation) { FileInfo info = new FileInfo(path); var dir = GetTempDirectoryInfo(operation); var curPath = Path.Combine(dir.FullName, info.Name); return(new FileInfo(curPath)); }
public static void RemoveCacheWithoutMd5(FileInfo originalInfo, FileCacheOperation operation) { var fileDict = GetFileCacheItems(operation); if (fileDict.ContainsKey(originalInfo.Name)) { var item = fileDict[originalInfo.Name]; fileDict.Remove(originalInfo.Name); mFileCache.items.Remove(item); } }
public static FileInfo GetCacheFileInfo(FileInfo originalInfo, string md5, FileCacheOperation operation) { if (IsInCache(originalInfo, md5, operation)) { var curItem = GetCacheFileItemHelper(originalInfo, md5, operation); var dir = GetTempDirectoryInfo(operation); var curPath = Path.Combine(dir.FullName, curItem.path); return(new FileInfo(curPath)); } return(null); }
public static bool IsInCacheWithoutMd5(FileInfo originalInfo, FileCacheOperation operation) { var fileDict = GetFileCacheItems(operation); if (fileDict.ContainsKey(originalInfo.Name)) { return(true); } return(false); }
public static Dictionary <String, FileCacheItem> GetFileCacheItems(FileCacheOperation operation) { switch (operation) { case FileCacheOperation.ImageOptimzed: return(ImageOptimzedFiles); case FileCacheOperation.Encoded: return(EncodedFiles); case FileCacheOperation.PVR: return(PVRFiles); } return(null); }
public static DirectoryInfo GetTempDirectoryInfo(FileCacheOperation operation) { switch (operation) { case FileCacheOperation.ImageOptimzed: return(ImageOptimzedPath); case FileCacheOperation.Encoded: return(EncodedPath); case FileCacheOperation.PVR: return(PVRPath); } return(null); }
public static bool IsInCache(FileInfo originalInfo, string md5, FileCacheOperation operation) { var fileDict = GetFileCacheItems(operation); if (fileDict.ContainsKey(originalInfo.Name)) { var file = fileDict[originalInfo.Name]; if (file.md5 == md5) { return(true); } } return(false); }
public static void AddToCacheWithoutCopy(string md5, FileInfo path, FileCacheOperation operation) { var fileDict = GetFileCacheItems(operation); FileCacheItem item = new FileCacheItem { md5 = md5, path = path.Name, Operation = (uint)operation, OriginalName = path.Name }; if (IsInCache(path, md5, operation)) { fileDict.Remove(item.OriginalName); var curItem = GetCacheFileItemHelper(path, md5, operation); mFileCache.items.Remove(curItem); } mFileCache.items.Add(item); RemoveCacheWithoutMd5(path, operation); fileDict.Add(item.OriginalName, item); Save(); }
public static void AddToCacheWithoutCopy(string md5, FileInfo path, Rectangle?textureRect, Point?offset, FileCacheOperation operation) { var fileDict = GetFileCacheItems(operation); FileCacheItem item = new FileCacheItem { md5 = md5, path = path.Name, Operation = (uint)operation, OriginalName = path.Name }; if (textureRect.HasValue) { item.TextureRect = new RectU(); item.TextureRect.Origin = new PointU(); item.TextureRect.Origin.X = (uint)textureRect.Value.X; item.TextureRect.Origin.Y = (uint)textureRect.Value.Y; item.TextureRect.Size = new SizeU(); item.TextureRect.Size.Width = (uint)textureRect.Value.Size.Width; item.TextureRect.Size.Height = (uint)textureRect.Value.Size.Height; } if (offset.HasValue) { item.Offset = new PointU(); item.Offset.X = (uint)offset.Value.X; item.Offset.Y = (uint)offset.Value.Y; } if (IsInCache(path, md5, operation)) { fileDict.Remove(item.OriginalName); var curItem = GetCacheFileItemHelper(path, md5, operation); mFileCache.items.Remove(curItem); } mFileCache.items.Add(item); RemoveCacheWithoutMd5(path, operation); fileDict.Add(item.OriginalName, item); Save(); }
public static string CopyCacheToDirectory(FileInfo originalInfo, string md5, DirectoryInfo path, FileCacheOperation operation) { if (IsInCache(originalInfo, md5, operation)) { var curItem = GetCacheFileItemHelper(originalInfo, md5, operation); var dir = GetTempDirectoryInfo(operation); var curPath = Path.Combine(dir.FullName, curItem.path); string newPath = Path.Combine(path.FullName, curItem.path); File.Copy(curPath, newPath, true); return(newPath); } else { Logger.LogAllLine("Invalid copy {0} to path", md5, path); return(string.Empty); } }
public static FileCacheItem GetCacheFileItem(FileInfo originalInfo, string md5, FileCacheOperation operation) { if (IsInCache(originalInfo, md5, operation)) { var curItem = GetCacheFileItemHelper(originalInfo, md5, operation); TryUpdate(curItem); return(curItem); } return(null); }
public static FileCacheItem GetCacheFileItemHelper(FileInfo originalInfo, string md5, FileCacheOperation operation) { var fileDict = GetFileCacheItems(operation); if (fileDict.ContainsKey(originalInfo.Name)) { var file = fileDict[originalInfo.Name]; if (file.md5 == md5) { return(file); } } return(null); }
public static FileCacheItem GetCacheFileItemHelperWithoutMd5(FileInfo originalInfo, FileCacheOperation operation) { var fileDict = GetFileCacheItems(operation); if (fileDict.ContainsKey(originalInfo.Name)) { var file = fileDict[originalInfo.Name]; return(file); } return(null); }