5 using System.Runtime.Serialization;
7 using SiliconStudio.Core.Serialization;
9 namespace SiliconStudio.BuildEngine
13 public override void WriteObject(XmlDictionaryWriter writer,
object graph)
15 var data = EncodeObject(graph);
16 writer.WriteStartElement(
"Data");
17 writer.WriteBase64(data, 0, data.Length);
18 writer.WriteEndElement();
23 throw new NotImplementedException();
28 throw new NotImplementedException();
33 throw new NotImplementedException();
36 public override object ReadObject(XmlDictionaryReader reader,
bool verifyObjectName)
38 reader.ReadStartElement(
"Data");
39 var data = reader.ReadContentAsBase64();
40 reader.ReadEndElement();
41 return DecodeObject(data);
46 return reader.IsStartElement(
"Data");
49 private static byte[] EncodeObject(
object obj)
51 var memoryStream =
new MemoryStream();
53 writer.SerializeExtended(ref obj, ArchiveMode.Serialize);
55 return memoryStream.ToArray();
58 private static object DecodeObject(byte[] serializedObject)
61 object command = null;
62 reader.SerializeExtended(ref command, ArchiveMode.Deserialize, null);
Implements SerializationStream as a binary writer.
override void WriteStartObject(XmlDictionaryWriter writer, object graph)
override object ReadObject(XmlDictionaryReader reader, bool verifyObjectName)
override void WriteObjectContent(XmlDictionaryWriter writer, object graph)
Implements SerializationStream as a binary reader.
override void WriteEndObject(XmlDictionaryWriter writer)
override void WriteObject(XmlDictionaryWriter writer, object graph)
override bool IsStartObject(XmlDictionaryReader reader)