Example #1
0
        public byte[] Encode()
        {
            var header = new List <byte>();

            header.AddRange(Identifier.GetBytes());
            header.Add((byte)Filetype);
            header.Add(0);

            header.AddRange(StartOffset.GetBytes());
            header.AddRange(UncompressedSize.GetBytes());
            // don't know what this is for...
            header.AddRange(MysteryBytes);
            header.AddRange(0.GetBytes());

            header.AddRange(CompressedSize.GetBytes());
            header.AddRange(0.GetBytes());
            header.AddRange(0.GetBytes());

            header.AddRange(FileFormatIndexOffset.GetBytes());
            header.AddRange(NameOffset.GetBytes());

            if (header.Count < DetailsHeaderSize)
            {
                header.AddRange(new byte[DetailsHeaderSize - header.Count]);
            }
            return(header.ToArray());
        }
Example #2
0
        internal void WriteManifestInfo(System.Xml.XmlWriter writer)
        {
            writer.WriteAttributeString("ID", ID);

            writer.WriteAttributeString("Path", Path);
            writer.WriteAttributeString("CompressedHash", CompressedHash);
            writer.WriteAttributeString("CompressedSize", CompressedSize.ToString());
            writer.WriteAttributeString("UncompressedHash", UncompressedHash);
            writer.WriteAttributeString("UncompressedSize", UncompressedSize.ToString());
        }
Example #3
0
        /// <summary>
        /// Gets a string representation of this object in a format
        /// that can be parsed by the static <see cref="Parse"/> method.
        /// </summary>
        /// <returns>A string representation of this object.</returns>
        public string GetString()
        {
            if (Compressed)
            {
                return(String.Join(",",
                                   FilePath,
                                   HashHelper.BytesToString(UncompressedHash),
                                   UncompressedSize.ToString(CultureInfo.InvariantCulture),
                                   Convert.ToInt32(Compressed).ToString(),
                                   HashHelper.BytesToString(CompressedHash),
                                   CompressedSize.ToString(CultureInfo.InvariantCulture)));
            }

            return(String.Join(",",
                               FilePath,
                               HashHelper.BytesToString(UncompressedHash),
                               UncompressedSize.ToString(CultureInfo.InvariantCulture),
                               Convert.ToInt32(Compressed).ToString()));
        }
Example #4
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (UncompressedSize != 0UL)
            {
                hash ^= UncompressedSize.GetHashCode();
            }
            if (ServerMessages != 0)
            {
                hash ^= ServerMessages.GetHashCode();
            }
            if (ClientMessages != 0)
            {
                hash ^= ClientMessages.GetHashCode();
            }
            if (Payload.Length != 0)
            {
                hash ^= Payload.GetHashCode();
            }
            return(hash);
        }