コード例 #1
0
ファイル: XmlElementItem.cs プロジェクト: BlueSkeye/ApkRe
 internal XmlElementItem(byte[] buffer, ref int offset, StringPool stringPool,
     bool startElement)
     : base(buffer, ref offset, stringPool)
 {
     int baseOffset = offset;
     Namespace = stringPool.GetReferencedString(buffer, ref offset, true);
     Name = stringPool.GetReferencedString(buffer, ref offset, true);
     if (startElement) { base.MarkAsStarter(); }
     if (!startElement) { return; }
     // End elements don't have these values.
     ushort attributeStart = Helpers.ReadUInt16(buffer, ref offset);
     ushort attributeSize = Helpers.ReadUInt16(buffer, ref offset);
     ushort attributeCount = Helpers.ReadUInt16(buffer, ref offset);
     // The three next values are 1 based indexes in the attribute array. Their
     // value is 0 if the attribute doesn't exist.
     ushort idAttributeIndex = Helpers.ReadUInt16(buffer, ref offset);
     if (0 != idAttributeIndex) { int i = 1; }
     ushort classAttributeIndex = Helpers.ReadUInt16(buffer, ref offset);
     ushort styleAttributeIndex = Helpers.ReadUInt16(buffer, ref offset);
     // This computaion should not usually modify the current offset value.
     offset = baseOffset + attributeStart;
     List<XmlElementAttributeItem> attributes = new List<XmlElementAttributeItem>();
     for (int index = 0; index < attributeCount; index++) {
         attributes.Add(new XmlElementAttributeItem(buffer, ref offset, stringPool));
     }
     Attributes = attributes.ToArray();
     return;
 }
コード例 #2
0
ファイル: XmlNamespaceItem.cs プロジェクト: BlueSkeye/ApkRe
 internal XmlNamespaceItem(byte[] buffer, ref int offset, StringPool stringPool,
     bool startElement)
     : base(buffer, ref offset, stringPool)
 {
     if (startElement) { base.MarkAsStarter(); }
     Prefix = stringPool.GetReferencedString(buffer, ref offset);
     Uri = stringPool.GetReferencedString(buffer, ref offset);
     return;
 }
コード例 #3
0
ファイル: XmlTreeItem.cs プロジェクト: BlueSkeye/ApkRe
 protected XmlTreeItem(byte[] buffer, ref int offset, StringPool stringPool)
     : base(buffer, ref offset)
 {
     LineNumber = Helpers.ReadUInt32(buffer, ref offset);
     Comment = stringPool.GetReferencedString(buffer, ref offset, true);
     return;
 }
コード例 #4
0
ファイル: Resource.cs プロジェクト: BlueSkeye/ApkRe
 internal Resource(byte[] buffer, ref int offset, StringPool stringPool)
 {
     // Number of bytes in this structure.
     ushort size = Helpers.ReadUInt16(buffer, ref offset);
     ResourceFlags flags = (ResourceFlags)Helpers.ReadUInt16(buffer, ref offset);
     // Reference into ResTable_package::keyStrings identifying this entry.
     Name = stringPool.GetReferencedString(buffer, ref offset);
     Value = new ResourceValue(buffer, ref offset);
     return;
 }
コード例 #5
0
ファイル: XmlElementItem.cs プロジェクト: BlueSkeye/ApkRe
 internal XmlElementAttributeItem(byte[] buffer, ref int offset,
     StringPool stringPool)
 {
     Namespace = stringPool.GetReferencedString(buffer, ref offset, true);
     Name = stringPool.GetReferencedString(buffer, ref offset, true);
     RawValue = stringPool.GetReferencedString(buffer, ref offset, true);
     TypedValue = new ResourceValue(buffer, ref offset);
     return;
 }