예제 #1
0
        /// <summary>
        /// This method is used to convert the element of CompactID object into a byte List.
        /// </summary>
        /// <returns>Return the byte list which store the byte information of CompactID</returns>
        public List <byte> SerializeToByteList()
        {
            BitWriter bitWriter = new BitWriter(4);

            bitWriter.AppendUInit32(this.N, 8);
            bitWriter.AppendUInit32(this.GuidIndex, 24);

            return(new List <byte>(bitWriter.Bytes));
        }
예제 #2
0
        /// <summary>
        /// This method is used to convert the element of PropertyID object into a byte List.
        /// </summary>
        /// <returns>Return the byte list which store the byte information of PropertyID</returns>
        public List <byte> SerializeToByteList()
        {
            BitWriter bitWriter = new BitWriter(4);

            bitWriter.AppendUInit32(this.Id, 26);
            bitWriter.AppendUInit32(this.Type, 5);
            bitWriter.AppendInit32(this.BoolValue, 1);

            return(new List <byte>(bitWriter.Bytes));
        }
예제 #3
0
        /// <summary>
        /// This method is used to convert the element of ObjectDeclaration2Body object into a byte List.
        /// </summary>
        /// <returns>Return the byte list which store the byte information of ObjectDeclaration2Body.</returns>
        public List <byte> SerializeToByteList()
        {
            List <byte> byteList = new List <byte>();

            byteList.AddRange(this.oid.SerializeToByteList());
            byteList.AddRange(this.jcid.SerializeToByteList());
            BitWriter bitWriter = new BitWriter(6);

            bitWriter.AppendUInit32(this.fHasOidReferences, 1);
            bitWriter.AppendUInit32(this.fHasOsidReferences, 1);
            bitWriter.AppendUInit32(this.fReserved2, 6);

            byteList.AddRange(bitWriter.Bytes);

            return(byteList);
        }
        /// <summary>
        /// Finalizes the hash computation after the last data is processed by the cryptographic stream object.
        /// </summary>
        /// <returns>The computed hash code.</returns>
        protected override byte[] HashFinal()
        {
            try
            {
                this.ProcessMessage(this.Padding());

                BitWriter writer = new BitWriter(16);
                writer.AppendUInit32(this.state[0], 32);
                writer.AppendUInit32(this.state[1], 32);
                writer.AppendUInit32(this.state[2], 32);
                writer.AppendUInit32(this.state[3], 32);

                return writer.Bytes;
            }
            finally
            {
                this.Initialize();
            }
        }
        /// <summary>
        /// This method is used to convert the element of ObjectSpaceObjectStreamHeader into a byte List.
        /// </summary>
        /// <returns>Return the byte list which store the byte information of ObjectSpaceObjectStreamHeader</returns>
        public List <byte> SerializeToByteList()
        {
            BitWriter bitWriter = new BitWriter(4);

            bitWriter.AppendUInit32(this.Count, 24);
            bitWriter.AppendInit32(this.Reserved, 6);
            bitWriter.AppendInit32(this.ExtendedStreamsPresent, 1);
            bitWriter.AppendInit32(this.OsidStreamNotPresent, 1);

            return(new List <byte>(bitWriter.Bytes));
        }
        /// <summary>
        /// This method is used to convert the element of ObjectRevisionWithRefCountFNDX object into a byte List.
        /// </summary>
        /// <returns>Return the byte list which store the byte information of ObjectRevisionWithRefCountFNDX.</returns>
        public override List <byte> SerializeToByteList()
        {
            List <byte> byteList = new List <byte>();

            byteList.AddRange(this.Ref.SerializeToByteList());
            byteList.AddRange(this.oid.SerializeToByteList());
            BitWriter bitWriter = new BitWriter(1);

            bitWriter.AppendInit32(this.fHasOidReferences, 1);
            bitWriter.AppendInit32(this.fHasOsidReferences, 1);
            bitWriter.AppendUInit32(this.cRef, 6);
            byteList.AddRange(bitWriter.Bytes);

            return(byteList);
        }
예제 #7
0
        /// <summary>
        /// This method is used to convert the element of FileNode object into a byte List.
        /// </summary>
        /// <returns>Return the byte list which store the byte information of FileNode.</returns>
        public List <byte> SerializeToByteList()
        {
            List <byte> byteList  = new List <byte>();
            BitWriter   bitWriter = new BitWriter(4);

            bitWriter.AppendUInit32((uint)this.FileNodeID, 10);
            bitWriter.AppendUInit32(this.Size, 13);
            bitWriter.AppendUInit32(this.StpFormat, 2);
            bitWriter.AppendUInit32(this.CbFormat, 2);
            bitWriter.AppendUInit32(this.BaseType, 4);
            bitWriter.AppendUInit32(this.Reserved, 1);
            byteList.AddRange(bitWriter.Bytes);
            if (this.fnd != null)
            {
                byteList.AddRange(this.fnd.SerializeToByteList());
            }

            return(byteList);
        }
 /// <summary>
 /// This method is used to convert the element of StreamObjectHeaderEnd16bit basic object into a byte List.
 /// </summary>
 /// <returns>Return the byte list which store the byte information of StreamObjectHeaderEnd16bit.</returns>
 public override List<byte> SerializeToByteList()
 {
     BitWriter bitFieldWriter = new BitWriter(2);
     bitFieldWriter.AppendInit32(0x3, 2);
     bitFieldWriter.AppendUInit32(Convert.ToUInt32(this.Type), 14);
     return new List<byte>(bitFieldWriter.Bytes);
 }
        /// <summary>
        /// This method is used to convert the element of StreamObjectHeaderStart32bit basic object into a byte List.
        /// </summary>
        /// <returns>Return the byte list which store the byte information of StreamObjectHeaderStart32bit.</returns>
        public override List<byte> SerializeToByteList()
        {
            BitWriter bitFieldWriter = new BitWriter(4);
            bitFieldWriter.AppendInit32(this.HeaderType, 2);
            bitFieldWriter.AppendInit32(this.Compound, 1);
            bitFieldWriter.AppendUInit32(Convert.ToUInt32(this.Type), 14);
            bitFieldWriter.AppendInit32(this.Length, 15);

            List<byte> listByte = new List<byte>(bitFieldWriter.Bytes);

            if (this.LargeLength != null)
            {
                listByte.AddRange(this.LargeLength.SerializeToByteList().ToArray());
            }

            return listByte;
        }
 /// <summary>
 /// This method is used to convert the element of StreamObjectHeaderStart16bit basic object into a byte List.
 /// </summary>
 /// <returns>Return the byte list which store the byte information of StreamObjectHeaderStart16bit.</returns>
 public override List<byte> SerializeToByteList()
 {
     BitWriter bitField = new BitWriter(2);
     bitField.AppendInit32(this.HeaderType, 2);
     bitField.AppendInit32(this.Compound, 1);
     bitField.AppendUInit32(Convert.ToUInt32(this.Type), 6);
     bitField.AppendInit32(this.Length, 7);
     return new List<byte>(bitField.Bytes);
 }
예제 #11
0
        /// <summary>
        /// This method is used to convert the element of ExGuid basic object into a byte List.
        /// </summary>
        /// <returns>Return the byte list which store the byte information of ExGuid.</returns>
        public override List<byte> SerializeToByteList()
        {
            BitWriter bitWriter = new BitWriter(21);

            if (this.GUID == Guid.Empty)
            {
                bitWriter.AppendUInit32(0, 8);
            }
            else if (this.Value >= 0x00 && this.Value <= 0x1F)
            {
                bitWriter.AppendUInit32(ExtendedGUID5BitUintType, 3);
                bitWriter.AppendUInit32(this.Value, 5);
                bitWriter.AppendGUID(this.GUID);
            }
            else if (this.Value >= 0x20 && this.Value <= 0x3FF)
            {
                bitWriter.AppendUInit32(ExtendedGUID10BitUintType, 6);
                bitWriter.AppendUInit32(this.Value, 10);
                bitWriter.AppendGUID(this.GUID);
            }
            else if (this.Value >= 0x400 && this.Value <= 0x1FFFF)
            {
                bitWriter.AppendUInit32(ExtendedGUID17BitUintType, 7);
                bitWriter.AppendUInit32(this.Value, 17);
                bitWriter.AppendGUID(this.GUID);
            }
            else if (this.Value >= 0x20000 && this.Value <= 0xFFFFFFFF)
            {
                bitWriter.AppendUInit32(ExtendedGUID32BitUintType, 8);
                bitWriter.AppendUInit32(this.Value, 32);
                bitWriter.AppendGUID(this.GUID);
            }

            return new List<byte>(bitWriter.Bytes);
        }