using System.Linq; using System.IO; using System.Fire.Serialize; using System.Fire.Serialize.Property; namespace System.Fire.Container { public partial class ContainerList { /// /// Returns an deserialized object that was stored in a container /// /// The object type /// File /// Returns the object public T GetObject(int FileIndex) { return this.GetObject(this._files[FileIndex]); } /// /// Returns an deserialized object that was stored in a container /// /// The object type /// File /// Returns the object public T GetObject(ContainerFile File) { Stream s = this.GetStream(File); return Serializer.DeserializeObject(s); } /// /// Returns an deserialized object that was stored in a container /// /// The object type /// File /// The array size /// Returns the object public T GetObject(int FileIndex, ArraySize size) { return this.GetObject(this._files[FileIndex], size); } /// /// Returns an deserialized object that was stored in a container /// /// The object type /// File /// The array size /// Returns the object public T GetObject(ContainerFile File, ArraySize size) { Stream s = this.GetStream(File); return Serializer.DeserializeObject(s,size); } public T GetObject(int FileIndex, StringEncoding encode) { return this.GetObject(this._files[FileIndex], encode); } public T GetObject(ContainerFile File, StringEncoding encode) { Stream s = this.GetStream(File); return Serializer.DeserializeObject(s, encode); } public T GetObject(int FileIndex, ArraySize size, StringEncoding encode) { return this.GetObject(this._files[FileIndex], size, encode); } public T GetObject(ContainerFile File, ArraySize size, StringEncoding encode) { Stream s = this.GetStream(File); return Serializer.DeserializeObject(s, size, encode); } public int WriteObject(object obj) { int stackId = this.CreateStack(); MemoryStream mem = new MemoryStream(); Serializer.SerializeObject(mem, obj); this.Write(stackId, mem.ToArray()); return this.CloseStack(stackId); } public int WriteObject(object obj, ArraySize size) { int stackId = this.CreateStack(); MemoryStream mem = new MemoryStream(); Serializer.SerializeObject(mem, obj, size); this.Write(stackId, mem.ToArray()); return this.CloseStack(stackId); } public int WriteObject(object obj, StringEncoding encode) { int stackId = this.CreateStack(); MemoryStream mem = new MemoryStream(); Serializer.SerializeObject(mem, obj, encode); this.Write(stackId, mem.ToArray()); return this.CloseStack(stackId); } public int WriteObject(object obj, ArraySize size, StringEncoding encode) { int stackId = this.CreateStack(); MemoryStream mem = new MemoryStream(); Serializer.SerializeObject(mem, obj, size, encode); this.Write(stackId, mem.ToArray()); return this.CloseStack(stackId); } public int WriteObject(object obj, string FileName) { int stackId = this.CreateStack(FileName); MemoryStream mem = new MemoryStream(); Serializer.SerializeObject(mem, obj); this.Write(stackId, mem.ToArray()); return this.CloseStack(stackId); } public int WriteObject(object obj, string FileName, ArraySize size) { int stackId = this.CreateStack(FileName); MemoryStream mem = new MemoryStream(); Serializer.SerializeObject(mem, obj, size); this.Write(stackId, mem.ToArray()); return this.CloseStack(stackId); } public int WriteObject(object obj, string FileName, StringEncoding encode) { int stackId = this.CreateStack(FileName); MemoryStream mem = new MemoryStream(); Serializer.SerializeObject(mem, obj, encode); this.Write(stackId, mem.ToArray()); return this.CloseStack(stackId); } public int WriteObject(object obj, string FileName, ArraySize size, StringEncoding encode) { int stackId = this.CreateStack(FileName); MemoryStream mem = new MemoryStream(); Serializer.SerializeObject(mem, obj, size, encode); this.Write(stackId, mem.ToArray()); return this.CloseStack(stackId); } } }