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);
}
}
}