/// <summary> /// Assign properties from TOC. /// </summary> /// <param name="properties">Property bank in TOC.</param> public void AssignTocProperties(CriPack_UTFProperty[] properties, long tocOffset) { this.DirName = (string)CriPack_UTF.GetPropertyValue(properties, "DirName"); this.FileName = (string)CriPack_UTF.GetPropertyValue(properties, "FileName"); this.FileSize = (uint)CriPack_UTF.GetPropertyValue(properties, "FileSize"); this.ExtractSize = (uint)CriPack_UTF.GetPropertyValue(properties, "ExtractSize"); this.FileOffset = tocOffset + (long)(ulong)CriPack_UTF.GetPropertyValue(properties, "FileOffset"); this.FileId = (uint)CriPack_UTF.GetPropertyValue(properties, "ID"); this.UserString = (string)CriPack_UTF.GetPropertyValue(properties, "UserString"); this.CRC = (uint)CriPack_UTF.GetPropertyValue(properties, "CRC"); }
/// <summary> /// Assign properties from E-TOC. /// </summary> /// <param name="properties">Property bank in E-TOC.</param> public void AssignEtocProperties(CriPack_UTFProperty[] properties) { this.localDir = (string)CriPack_UTF.GetPropertyValue(properties, "LocalDir"); ulong timestamp = (ulong)CriPack_UTF.GetPropertyValue(properties, "UpdateDateTime"); // Convert time int timeYear = (int)((timestamp >> 48) & 0xffff); int timeMonth = (int)((timestamp >> 40) & 0xff); int timeDay = (int)((timestamp >> 32) & 0xff); int timeHour = (int)((timestamp >> 24) & 0xff); int timeMinute = (int)((timestamp >> 16) & 0xff); int timeSecond = (int)((timestamp >> 8) & 0xff); this.fileDate = new DateTime(timeYear, timeMonth, timeDay, timeHour, timeMinute, timeSecond); }
public object GetPropertyValue(int index, string name) { return(CriPack_UTF.GetPropertyValue(this.properties[index], name)); }