コード例 #1
0
ファイル: MbdbFile.cs プロジェクト: yang123vc/iosbackuputil
        /// <summary>
        /// Reads the file, and closes the stream related to it.
        /// </summary>
        public void ReadFile()
        {
            while (_fsMbdb.Position < _fsMbdb.Length)
            {
                MbdbRecord mbdbRec = new MbdbRecord();
                mbdbRec.Domain           = InternalUtilities.ReadStringValue(_fsMbdb);
                mbdbRec.Path             = InternalUtilities.ReadStringValue(_fsMbdb);
                mbdbRec.LinkTarget       = InternalUtilities.ReadStringValue(_fsMbdb);
                mbdbRec.DataHash         = InternalUtilities.ReadStringValue(_fsMbdb);
                mbdbRec.Unknown_I        = InternalUtilities.ReadStringValue(_fsMbdb);
                mbdbRec.Mode             = InternalUtilities.ReadUInt16Value(_fsMbdb);
                mbdbRec.iNodeLookup      = InternalUtilities.ReadUInt64Value(_fsMbdb);
                mbdbRec.UserId           = InternalUtilities.ReadUInt32Value(_fsMbdb);
                mbdbRec.GroupId          = InternalUtilities.ReadUInt32Value(_fsMbdb);
                mbdbRec.LastModifiedTime = InternalUtilities.ReadUInt32Value(_fsMbdb);
                mbdbRec.LastAccessTime   = InternalUtilities.ReadUInt32Value(_fsMbdb);
                mbdbRec.CreationTime     = InternalUtilities.ReadUInt32Value(_fsMbdb);
                mbdbRec.FileLength       = InternalUtilities.ReadUInt64Value(_fsMbdb);
                mbdbRec.ProtectionClass  = (byte)_fsMbdb.ReadByte();
                mbdbRec.PropertyCount    = (byte)_fsMbdb.ReadByte();

                mbdbRec.Properties = new Dictionary <string, string>();

                for (int i = 0; i < mbdbRec.PropertyCount; i++)
                {
                    string propName = InternalUtilities.ReadStringValue(_fsMbdb);
                    string propVal  = InternalUtilities.ReadPropertyValue(_fsMbdb);
                    mbdbRec.Properties.Add(propName, propVal);
                }

                this.MbdbRecords.Add(mbdbRec);
            }

            _fsMbdb.Close();
        }
コード例 #2
0
ファイル: MbdbFile.cs プロジェクト: gkaiser/iosbackuputil
        /// <summary>
        /// Reads the file, and closes the stream related to it.
        /// </summary>
        public void ReadFile()
        {
            while (_fsMbdb.Position < _fsMbdb.Length)
            {
                MbdbRecord mbdbRec = new MbdbRecord();
                mbdbRec.Domain = InternalUtilities.ReadStringValue(_fsMbdb);
                mbdbRec.Path = InternalUtilities.ReadStringValue(_fsMbdb);
                mbdbRec.LinkTarget = InternalUtilities.ReadStringValue(_fsMbdb);
                mbdbRec.DataHash = InternalUtilities.ReadStringValue(_fsMbdb);
                mbdbRec.Unknown_I = InternalUtilities.ReadStringValue(_fsMbdb);
                mbdbRec.Mode = InternalUtilities.ReadUInt16Value(_fsMbdb);
                mbdbRec.iNodeLookup = InternalUtilities.ReadUInt64Value(_fsMbdb);
                mbdbRec.UserId = InternalUtilities.ReadUInt32Value(_fsMbdb);
                mbdbRec.GroupId = InternalUtilities.ReadUInt32Value(_fsMbdb);
                mbdbRec.LastModifiedTime = InternalUtilities.ReadUInt32Value(_fsMbdb);
                mbdbRec.LastAccessTime = InternalUtilities.ReadUInt32Value(_fsMbdb);
                mbdbRec.CreationTime = InternalUtilities.ReadUInt32Value(_fsMbdb);
                mbdbRec.FileLength = InternalUtilities.ReadUInt64Value(_fsMbdb);
                mbdbRec.ProtectionClass = (byte)_fsMbdb.ReadByte();
                mbdbRec.PropertyCount = (byte)_fsMbdb.ReadByte();

                mbdbRec.Properties = new Dictionary<string, string>();

            for (int i = 0; i < mbdbRec.PropertyCount; i++)
                {
                    string propName = InternalUtilities.ReadStringValue(_fsMbdb);
                    string propVal = InternalUtilities.ReadPropertyValue(_fsMbdb);
                    mbdbRec.Properties.Add(propName, propVal);
                }

                this.MbdbRecords.Add(mbdbRec);
            }

            _fsMbdb.Close();
        }