/// <summary> /// Loads the resource table from the cache file. /// </summary> /// <param name="reader">The stream to read from.</param> /// <returns> /// The loaded resource table, or <c>null</c> if loading failed. /// </returns> public ResourceTable LoadResourceTable(IReader reader) { var result = new ResourceTable(); result.Pages.AddRange(_layoutTable.LoadPages(reader)); IEnumerable<ResourcePointer> pointers = _layoutTable.LoadPointers(reader, result.Pages); result.Resources.AddRange(_gestalt.LoadResources(reader, _tags, pointers.ToList())); return result; }
/// <summary> /// Saves the resource table back to the file. /// </summary> /// <param name="table">The resource table to save.</param> /// <param name="stream">The stream to save to.</param> public void SaveResourceTable(ResourceTable table, IStream stream) { if (_layoutTable == null || _gestalt == null) return; var pointers = _gestalt.SaveResources(table.Resources, stream); _layoutTable.SavePointers(pointers, stream); _layoutTable.SavePages(table.Pages, stream); }
/// <summary> /// Loads the resource table from the cache file. /// </summary> /// <param name="reader">The stream to read from.</param> /// <returns> /// The loaded resource table, or <c>null</c> if loading failed. /// </returns> public ResourceTable LoadResourceTable(IReader reader) { if (_layoutTable == null || _gestalt == null) return null; var result = new ResourceTable(); result.Pages.AddRange(_layoutTable.LoadPages(reader)); var pointers = _layoutTable.LoadPointers(reader, result.Pages); result.Resources.AddRange(_gestalt.LoadResources(reader, _tags, pointers.ToList())); return result; }
public void SaveChanges(IStream stream) { if (_resources != null) { _cacheFile.Resources.SaveResourceTable(_resources, stream); _resources = null; } if (_zoneSets != null && _zoneSets.GlobalZoneSet != null) { _zoneSets.SaveChanges(stream); _zoneSets = null; } _languageCache.SaveAll(stream); _languageCache.ClearCache(); _cacheFile.SaveChanges(stream); }
private void LoadResourceTable(IReader reader) { if (_resources == null) _resources = _cacheFile.Resources.LoadResourceTable(reader); }
/// <summary> /// Saves the resource table back to the file. /// </summary> /// <param name="table">The resource table to save.</param> /// <param name="stream">The stream to save to.</param> public void SaveResourceTable(ResourceTable table, IStream stream) { IList<ResourcePointer> pointers = _gestalt.SaveResources(table.Resources, stream); _layoutTable.SavePointers(pointers, stream); _layoutTable.SavePages(table.Pages, stream); }
public void SaveChanges(IStream stream) { if (_resources != null) { _cacheFile.Resources.SaveResourceTable(_resources, stream); _resources = null; } if (_zoneSets != null) { _zoneSets.SaveChanges(stream); _zoneSets = null; } _cacheFile.SaveChanges(stream); }