private CacheItem SaveGameCache(CacheComplexKey cacheKey, FileSystemItem item) { var gameExpiration = GetGameExpiration(item.RecognitionState); item.IsCached = true; return(_cacheManager.Set(cacheKey.Key, item, GetExpirationFrom(gameExpiration))); }
private CacheItem SaveDataFileCache(CacheComplexKey cacheKey, FileSystemItem item) { if (item.RecognitionState == RecognitionState.Recognized) { var svodExpiration = GetExpirationFrom(_userSettingsProvider.XboxLiveContentExpiration); return(_userSettingsProvider.XboxLiveContentInvalidation ? _cacheManager.Set(cacheKey.Key, item, svodExpiration, item.Date, item.Size) : _cacheManager.Set(cacheKey.Key, item, svodExpiration)); } return(_cacheManager.Set(cacheKey.Key, item, GetExpirationFrom(_userSettingsProvider.UnknownContentExpiration))); }
private CacheItem SaveProfileCache(CacheComplexKey cacheKey, FileSystemItem item, byte[] content) { var profileExpiration = GetExpirationFrom(_userSettingsProvider.ProfileExpiration); item.IsCached = true; var cacheItem = _userSettingsProvider.ProfileInvalidation ? _cacheManager.Set(cacheKey.Key, item, profileExpiration, cacheKey.Date, cacheKey.Size, content) : _cacheManager.Set(cacheKey.Key, item, profileExpiration); _cacheManager.Set(item.Name, item); return(cacheItem); }
private CacheComplexKey GetCacheKey(FileSystemItem item) { var key = new CacheComplexKey(); switch (item.TitleType) { case TitleType.SystemDir: case TitleType.SystemFile: case TitleType.Content: key.Item = item; key.Key = item.Name; break; case TitleType.Game: key.Item = item; key.Key = item.Type == ItemType.File ? item.Name.Replace(".gpd", string.Empty) : item.Name; break; case TitleType.Profile: if (item.Type == ItemType.File) { key.Item = item; key.Key = item.FullPath; } else { var recognition = GetProfileItem(item); key.Item = recognition.Item; key.Key = recognition.Path; key.ErrorMessage = recognition.ErrorMessage; } break; case TitleType.DataFile: key.Item = item; key.Key = item.FullPath; break; } if (key.Item != null) { key.Size = key.Item.Size; key.Date = key.Item.Date; } return(key); }
public CacheItem Get(CacheComplexKey key) { return(Get(key.Key, key.Size, key.Date)); }
public CacheEntry <FileSystemItem> GetEntry(CacheComplexKey key) { return(GetEntry(key.Key, key.Size, key.Date)); }
public CacheItem GetCacheEntry(FileSystemItem item, out CacheComplexKey cacheKey) { cacheKey = GetCacheKey(item); return(_cacheManager.Get(cacheKey)); }