/// <summary> /// Serializes the given object into the given stream. /// </summary> /// <param name="obj">Object to serialize</param> /// <param name="stream">Target stream.</param> /// <param name="codec">The codec to use.</param> public void Save(object obj, Stream stream, ISerializeCodec codec) { SerializeStream serializeStream = new SerializeStream(codec, stream, true); serializeStream.Save(obj); serializeStream.Close(); }
//--------------------------------------------------------------- #endregion //--------------------------------------------------------------- //--------------------------------------------------------------- #region Initialisation //--------------------------------------------------------------- /// <summary> /// Creates a new instance of an ObjectQueue. /// </summary> public ObjectQueue(Packetizer packetizer) { this.queue = Queue.Synchronized(new Queue()); this.packetizer = packetizer; packetizer.PacketReceived += new PacketHandler(packetizer_PacketReceived); codec = new XmlSerializeCodec(); }
/// <summary> /// Loads an object from a file. /// </summary> /// <param name="stream">Stream to load object from.</param> /// <param name="codec">The codec to use for loading the file.</param> /// <returns>The loaded object.</returns> public object Load(Stream stream, ISerializeCodec codec) { SerializeStream serializeStream = new SerializeStream(codec, stream, false); object obj = serializeStream.Load(); serializeStream.Close(); return(obj); }
void IDisposable.Dispose() { if (codec != null) { codec.Close(); } codec = null; }
/// <summary> /// Loads an object from a byte array. /// </summary> /// <param name="data">The data containing the object.</param> /// <param name="codec">The codec to use for serialization.</param> /// <returns>The deserialized object.</returns> public object Load(byte[] data, ISerializeCodec codec) { using (MemoryStream stream = new MemoryStream(data)) { return(Load(stream, codec)); } }
/// <summary> /// Loads an object from a file. /// </summary> /// <param name="fileName">Name of file to load object from.</param> /// <param name="codec">The codec to use for loading the file.</param> /// <returns>The loaded object.</returns> public object Load(string fileName, ISerializeCodec codec) { using (FileStream stream = new FileStream(fileName, FileMode.Open, FileAccess.Read)) { return(Load(stream, codec)); } }
/// <summary> /// Serializes the given object into the given file. /// </summary> /// <param name="obj">Object to serialize</param> /// <param name="fileName">Target file</param> /// <param name="codec">The codec to use.</param> public void Save(object obj, string fileName, ISerializeCodec codec) { using (FileStream stream = new FileStream(fileName, FileMode.Create, FileAccess.Write)) { Save(obj, stream, codec); } }
//--------------------------------------------------------------- #endregion //--------------------------------------------------------------- //--------------------------------------------------------------- #region Initialisation //--------------------------------------------------------------- /// <summary> /// Creates a new SerializeStream object. /// </summary> /// <param name="codec">The codec to use.</param> /// <param name="stream">The target or source stream.</param> /// <param name="write">Flag that indicates if the serializeStream should be used for reading or writing.</param> public SerializeStream(ISerializeCodec codec, Stream stream, bool write) { this.codec = codec; codec.Init(stream, write); this.write = write; }