Esempio n. 1
0
 /// <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;
		}
Esempio n. 4
0
		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);
		}
Esempio n. 5
0
		private void LoadResourceTable(IReader reader)
		{
			if (_resources == null)
				_resources = _cacheFile.Resources.LoadResourceTable(reader);
		}
Esempio n. 6
0
 /// <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);
 }
Esempio n. 7
0
 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);
 }