Esempio n. 1
0
        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);
        }
Esempio n. 6
0
        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");
        }
Esempio n. 9
0
        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;
            }
        }
Esempio n. 10
0
        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);
 }
Esempio n. 12
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);
        }
Esempio n. 14
0
        public object Convert(object value, object parameter, BinaryDataSerializationContext context)
        {
            var offset = System.Convert.ToInt32(value) * 4;

            return(offset - BaseOffset);
        }
Esempio n. 15
0
 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);
 }
Esempio n. 22
0
        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);
        }
Esempio n. 23
0
        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);
        }
Esempio n. 25
0
        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));
 }