public object Convert(object value, object parameter, BinaryDataSerializationContext context) { var version = (int)value; var minVersion = (int)parameter; return(version > minVersion); }
public void Serialize(Stream stream, BinaryDataSerialization.Endianness endianness, BinaryDataSerializationContext serializationContext) { Assert.AreEqual(typeof(CustomWithContextContainerClass), serializationContext.ParentType); //Assert.AreEqual("context", serializationContext.ParentContext.ParentValue); // TODO check root context }
/// <summary> /// This is called by the framework to indicate a new operation. /// </summary> /// <param name="context"></param> protected override object GetInitialState(BinaryDataSerializationContext context) { return(new Crc32(Polynomial, InitialValue) { IsDataReflected = IsDataReflected, IsRemainderReflected = IsRemainderReflected, FinalXor = FinalXor }); }
public void Deserialize(Stream stream, BinaryDataSerialization.Endianness endianness, BinaryDataSerializationContext serializationContext) { var varuint = new Varuint { Value = Value }; varuint.Deserialize(stream, endianness, serializationContext); Value = varuint.Value; }
public void Serialize(Stream stream, BinaryDataSerialization.Endianness endianness, BinaryDataSerializationContext serializationContext) { var boundedStream = (BoundedStream)stream; Assert.AreEqual(0, boundedStream.Position); Assert.AreEqual(100, (int)boundedStream.MaxLength.ByteCount); var varuint = new Varuint { Value = Value }; varuint.Serialize(stream, endianness, serializationContext); }
public void Serialize(Stream stream, BinaryDataSerialization.Endianness endianness, BinaryDataSerializationContext context) { var value = Value; do { var lower7Bits = (byte)(value & 127); value >>= 7; if (value > 0) { lower7Bits |= 128; } stream.WriteByte(lower7Bits); } while (value > 0); }
public object Convert(object value, object parameter, BinaryDataSerializationContext context) { if (value == null) { throw new ArgumentNullException(nameof(value)); } if (parameter == null) { throw new ArgumentNullException(nameof(parameter)); } var v = System.Convert.ToUInt64(value); var m = System.Convert.ToUInt64(parameter); return(v + (m - v % m) % m); }
public object Convert(object value, object parameter, BinaryDataSerializationContext context) { if (value == null) { return(BinaryDataSerialization.Endianness.Little); } var indicator = System.Convert.ToUInt32(value); if (indicator == LittleEndiannessMagic) { return(BinaryDataSerialization.Endianness.Little); } if (indicator == BigEndiannessMagic) { return(BinaryDataSerialization.Endianness.Big); } throw new InvalidOperationException("Invalid endian magic"); }
public void Deserialize(Stream stream, BinaryDataSerialization.Endianness endianness, BinaryDataSerializationContext context) { var more = true; var shift = 0; Value = 0; while (more) { var b = stream.ReadByte(); if (b == -1) { throw new InvalidOperationException("Reached end of stream before end of varuint."); } var lower7Bits = (byte)b; more = (lower7Bits & 128) != 0; Value |= (uint)((lower7Bits & 127) << shift); shift += 7; } }
public void Serialize(Stream stream, BinaryDataSerialization.Endianness endianness, BinaryDataSerializationContext serializationContext) { var writer = new BinaryWriter(stream); writer.Write((ushort)Value.Year); writer.Write((byte)Value.Month); writer.Write((byte)Value.Day); writer.Write((byte)Value.Hour); writer.Write((byte)Value.Minute); writer.Write((byte)Value.Second); writer.Write((ushort)Value.Millisecond); }
public object Convert(object value, object parameter, BinaryDataSerializationContext context) { return(0); }
public object Convert(object value, object parameter, BinaryDataSerializationContext context) { var intValue = System.Convert.ToInt32(value); return(intValue % 2 == 0); }
public void Serialize(Stream stream, BinaryDataSerialization.Endianness endianness, BinaryDataSerializationContext serializationContext) { var memberInfo = serializationContext.MemberInfo; AssertCustomAttribute(memberInfo); }
public object Convert(object value, object parameter, BinaryDataSerializationContext context) { var offset = System.Convert.ToInt32(value) * 4; return(offset - BaseOffset); }
public void Serialize(Stream stream, BinaryDataSerialization.Endianness endianness, BinaryDataSerializationContext serializationContext) { stream.Write(Data, 0, Data.Length); }
public void Serialize(Stream stream, BinaryDataSerialization.Endianness endianness, BinaryDataSerializationContext serializationContext) { foreach (var item in this) { var data = System.Text.Encoding.UTF8.GetBytes(item); stream.WriteByte((byte)data.Length); stream.Write(data, 0, data.Length); } }
protected override object GetInitialState(BinaryDataSerializationContext context) { return(IncrementalHash.CreateHash(HashAlgorithmName.SHA256)); }
public object Convert(object value, object parameter, BinaryDataSerializationContext context) { var encodingName = (string)value; return(EncodingHelper.GetEncoding(encodingName)); }
/// <summary> /// This is called by the framework to indicate a new operation. /// </summary> /// <param name="context"></param> protected override object GetInitialState(BinaryDataSerializationContext context) { return(context.Value); }
public void Deserialize(Stream stream, BinaryDataSerialization.Endianness endianness, BinaryDataSerializationContext serializationContext) { var readByte = stream.ReadByte(); if (readByte == -1) { throw new EndOfStreamException(); } Value = Convert.ToByte(readByte); }
public void Serialize(Stream stream, BinaryDataSerialization.Endianness endianness, BinaryDataSerializationContext serializationContext) { stream.WriteByte(Value); }
public void Deserialize(Stream stream, BinaryDataSerialization.Endianness endianness, BinaryDataSerializationContext serializationContext) { var reader = new BinaryReader(stream); var year = reader.ReadUInt16(); var month = reader.ReadByte(); var day = reader.ReadByte(); var hour = reader.ReadByte(); var minute = reader.ReadByte(); var second = reader.ReadByte(); var ms = reader.ReadUInt16(); Value = new DateTime(year, month, day, hour, minute, second, DateTimeKind.Local).AddMilliseconds(ms); }
public void Deserialize(Stream stream, BinaryDataSerialization.Endianness endianness, BinaryDataSerializationContext serializationContext) { var data = new byte[Data.Length]; stream.Read(data, 0, data.Length); if (!data.SequenceEqual(Data)) { throw new InvalidDataException(); } }
public object Convert(object value, object converterParameter, BinaryDataSerializationContext ctx) { var a = System.Convert.ToDouble(value); return(a * 2); }
public object ConvertBack(object value, object parameter, BinaryDataSerializationContext context) { var length = System.Convert.ToInt32(value); return((int)Math.Ceiling((length + BaseOffset) / 4f)); }
public object ConvertBack(object value, object parameter, BinaryDataSerializationContext context) { throw new NotSupportedException(); }
public void Deserialize(Stream stream, BinaryDataSerialization.Endianness endianness, BinaryDataSerializationContext serializationContext) { while (stream.Position < stream.Length) { var length = stream.ReadByte(); var data = new byte[length]; stream.Read(data, 0, data.Length); var item = System.Text.Encoding.UTF8.GetString(data); Add(item); } }
public object ConvertBack(object value, object parameter, BinaryDataSerializationContext context) { return(System.Convert.ToInt32(value) - System.Convert.ToInt32(parameter)); }
public object Convert(object value, object parameter, BinaryDataSerializationContext context) { throw new NotImplementedException(); }
private object ConvertBack(object value, BinaryDataSerializationContext context) { return(ValueConverter.ConvertBack(value, ConverterParameter, context)); }