Exemple #1
0
        public sbyte Read(Block_I block)
        {
            var bytes  = block.Data;
            var offset = block.Position;

            return((sbyte)bytes[offset]);
        }
Exemple #2
0
        public bool Read(Block_I block)
        {
            var bytes  = block.Data;
            var offset = block.Position;

            return(bytes[offset] > 0);
        }
Exemple #3
0
        public void Write(Block_I block, bool value)
        {
            var bytes  = block.Data;
            var offset = block.Position;

            bytes[offset] = value ? TRUE : FALSE;
        }
Exemple #4
0
        public void Write(Block_I block, sbyte value)
        {
            var bytes  = block.Data;
            var offset = block.Position;

            bytes[offset] = (byte)value;
        }
Exemple #5
0
        public void Read(Block_I block, out char data)
        {
            var byte1 = block.Data[block.Position++];
            var byte2 = block.Data[block.Position++];

            data = (char)((byte1 & 0xff) | ((byte2 & 0xff) << 8));
        }
Exemple #6
0
        public void Write(Block_I block, sbyte value)
        {
            var bytes  = block.Data;
            var offset = block.Position;

            Write(bytes, offset, value);
        }
Exemple #7
0
        public void Read(Block_I block, out string stringToRead)
        {
            long iLength;

            block.Read(out iLength);

            if (iLength == 0)
            {
                stringToRead = string.Empty;

                return;
            }

            var oChars = new char[iLength];

            for (var ii = 0; ii < iLength; ii++)
            {
                short currentShort;

                block.Read(out currentShort);

                oChars[ii] = (char)currentShort;
            }

            stringToRead = new string(oChars);
        }
Exemple #8
0
 public void Write(Block_I block, byte[] data, long offset, long length)
 {
     for (long i = 0; i < length; i++)
     {
         Write(block, data[offset + i]);
     }
 }
Exemple #9
0
        public void Read(Block_I block, out ulong data)
        {
            long dataLong;

            block.Read(out dataLong);

            data = (ulong)dataLong;
        }
Exemple #10
0
        public void Write(Block_I block, char value)
        {
            var bytes  = block.Data;
            var offset = block.Position;

            bytes[offset + 1] = (byte)(value & 0xff); // Big Endian - larger address, least significant byte, which should generally be the ascii number
            bytes[offset]     = (byte)(value >> 8);   // Big Endian - smaller address, most significant byte, which should be generally 00
        }
Exemple #11
0
        public void Read(Block_I block, out TimeSpan data)
        {
            long ticks;

            block.Read(out ticks);

            data = new TimeSpan(ticks);
        }
Exemple #12
0
        public void Read(Block_I block, out uint data)
        {
            int dataLong;

            block.Read(out dataLong);

            data = (uint)dataLong;
        }
Exemple #13
0
        public void Read(Block_I block, out ushort data)
        {
            short dataLong;

            block.Read(out dataLong);

            data = (ushort)dataLong;
        }
Exemple #14
0
        public void Read(Block_I block, out DateTime data)
        {
            long ticks;

            block.Read(out ticks);

            data = new DateTime(ticks);
        }
Exemple #15
0
        public void Write(Block_I block, short data)
        {
            var iOffset = block.Position + 2;

            block.Position = iOffset;

            block.Data[--iOffset] = (byte)(data & 0xff);
            block.Data[--iOffset] = (byte)(data >> 8);
        }
Exemple #16
0
        public char Read(Block_I block)
        {
            var bytes  = block.Data;
            var offset = block.Position;

            var upper = bytes[offset];     // Big Endian - smaller address, most significant byte, which should be generally 00
            var lower = bytes[offset + 1]; // larger address, least significant byte, which should generally be the ascii number

            return((char)((lower & 0xff) | ((upper & 0xff) << 8)));
        }
Exemple #17
0
        public void Write(Block_I block, string stringToWrite)
        {
            var iLength = stringToWrite.Length;

            block.Write(iLength);

            for (var i = 0; i < iLength; i++)
            {
                block.Write((byte)(stringToWrite[i] & 0xff));
            }
        }
Exemple #18
0
        public void Write(Block_I block, int data)
        {
            var iOffset = block.Position + 4;

            block.Position = iOffset;

            block.Data[--iOffset] = (byte)data;
            block.Data[--iOffset] = (byte)(data >>= 8);
            block.Data[--iOffset] = (byte)(data >>= 8);
            block.Data[--iOffset] = (byte)(data >> 8);
        }
Exemple #19
0
        public void Read(Block_I block, byte[] data, long offset, long length)
        {
            for (long i = 0; i < length; i++)
            {
                byte dataByte;

                Read(block, out dataByte);

                data[offset + i] = dataByte;
            }
        }
Exemple #20
0
        public void Read(Block_I block, out long valueToRead)
        {
            var iOffset = (block.Position += 8) - 1;

            valueToRead = (block.Data[iOffset] << 56)
                          | (block.Data[--iOffset] << 48)
                          | (block.Data[--iOffset] << 40)
                          | (block.Data[--iOffset] << 32)
                          | (block.Data[--iOffset] << 24)
                          | (block.Data[--iOffset] << 16)
                          | (block.Data[--iOffset] << 8)
                          | (block.Data[--iOffset]);
        }
Exemple #21
0
        public void Write(Block_I block, long valueToWrite)
        {
            var iOffset = block.Position + 8;

            block.Position = iOffset;

            block.Data[--iOffset] = (byte)(valueToWrite >> 56);
            block.Data[--iOffset] = (byte)(valueToWrite >> 48);
            block.Data[--iOffset] = (byte)(valueToWrite >> 40);
            block.Data[--iOffset] = (byte)(valueToWrite >> 32);
            block.Data[--iOffset] = (byte)(valueToWrite >> 24);
            block.Data[--iOffset] = (byte)(valueToWrite >> 16);
            block.Data[--iOffset] = (byte)(valueToWrite >> 8);
            block.Data[--iOffset] = (byte)(valueToWrite >> 0);
        }
Exemple #22
0
 void ObjectCodec_I.Write(Block_I block, object value)
 {
     Write(block, (int)value);
 }
Exemple #23
0
 public int Read(Block_I block)
 {
     return(Read(block.Data, block.Position));
 }
Exemple #24
0
 public void Write(Block_I block, decimal value)
 {
     Write(block.Data, block.Position, value);
 }
Exemple #25
0
 public decimal Read(Block_I block)
 {
     return(Read(block.Data, block.Position));
 }
Exemple #26
0
 void ObjectCodec_I.Write(Block_I block, object value)
 {
     Write(block, (decimal)value);
 }
Exemple #27
0
 public void Write(Block_I block, ushort data)
 {
     block.Write((short)data);
 }
Exemple #28
0
 public void Write(Block_I block, int value)
 {
     Write(block.Data, block.Position, value);
 }
Exemple #29
0
 object ObjectCodec_I.Read(Block_I block)
 {
     return(Read(block));
 }
Exemple #30
0
 public void Write(Block_I block, TimeSpan value)
 {
     Write(block.Data, block.Position, value);
 }