125 lines
5.0 KiB
C#
125 lines
5.0 KiB
C#
// This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild
|
|
|
|
using System.Collections.Generic;
|
|
|
|
namespace Kaitai
|
|
{
|
|
public partial class MstsApk : KaitaiStruct
|
|
{
|
|
public static MstsApk FromFile(string fileName)
|
|
{
|
|
return new MstsApk(new KaitaiStream(fileName));
|
|
}
|
|
|
|
public MstsApk(KaitaiStream p__io) : this(p__io, null) { }
|
|
public MstsApk(KaitaiStream p__io, KaitaiStruct p__parent) : this(p__io, p__parent, null) { }
|
|
public MstsApk(KaitaiStream p__io, KaitaiStruct p__parent, MstsApk p__root) : base(p__io)
|
|
{
|
|
m_parent = p__parent;
|
|
m_root = p__root;
|
|
_read();
|
|
}
|
|
private void _read()
|
|
{
|
|
_routeDisplayName = new ApkString(m_io, this, m_root);
|
|
_routeId1 = new ApkString(m_io, this, m_root);
|
|
_routeId2 = new ApkString(m_io, this, m_root);
|
|
_unknownNumber = m_io.ReadU4le();
|
|
_fileCount = m_io.ReadU4le();
|
|
_files = new List<File>((int) (FileCount));
|
|
for (int i = 0; i < FileCount; i++)
|
|
{
|
|
_files.Add(new File(m_io, this, m_root));
|
|
}
|
|
}
|
|
public partial class ApkString : KaitaiStruct
|
|
{
|
|
public static ApkString FromFile(string fileName)
|
|
{
|
|
return new ApkString(new KaitaiStream(fileName));
|
|
}
|
|
|
|
public ApkString(KaitaiStream p__io) : this(p__io, null) { }
|
|
public ApkString(KaitaiStream p__io, KaitaiStruct p__parent) : this(p__io, p__parent, null) { }
|
|
public ApkString(KaitaiStream p__io, KaitaiStruct p__parent, MstsApk p__root) : base(p__io)
|
|
{
|
|
m_parent = p__parent;
|
|
m_root = p__root;
|
|
_read();
|
|
}
|
|
private void _read() {
|
|
_len = m_io.ReadU4le();
|
|
_value = System.Text.Encoding.GetEncoding("utf-16").GetString(m_io.ReadBytes(((Len - 1) * 2)));
|
|
_terminator = m_io.ReadU2le();
|
|
}
|
|
private uint _len;
|
|
private string _value;
|
|
private ushort _terminator;
|
|
private MstsApk m_root;
|
|
private KaitaiStruct m_parent;
|
|
public uint Len { get { return _len; } }
|
|
public string Value { get { return _value; } }
|
|
|
|
/// <summary>
|
|
/// Two-byte string terminator.
|
|
/// Added here because UTF-16 support is far from perfect in Kaitai Struct!
|
|
/// </summary>
|
|
public ushort Terminator { get { return _terminator; } }
|
|
public MstsApk M_Root { get { return m_root; } }
|
|
public KaitaiStruct M_Parent { get { return m_parent; } }
|
|
}
|
|
public partial class File : KaitaiStruct
|
|
{
|
|
public static File FromFile(string fileName)
|
|
{
|
|
return new File(new KaitaiStream(fileName));
|
|
}
|
|
|
|
public File(KaitaiStream p__io) : this(p__io, null) { }
|
|
public File(KaitaiStream p__io, KaitaiStruct p__parent) : this(p__io, p__parent, null) { }
|
|
public File(KaitaiStream p__io, KaitaiStruct p__parent, MstsApk p__root) : base(p__io)
|
|
{
|
|
m_parent = (MstsApk)p__parent;
|
|
m_root = p__root;
|
|
_read();
|
|
}
|
|
private void _read()
|
|
{
|
|
_fileLen = m_io.ReadU4le();
|
|
_name = new ApkString(m_io, this, m_root);
|
|
_content = System.Text.Encoding.GetEncoding("utf-16").GetString(m_io.ReadBytes(FileLen));
|
|
}
|
|
private uint _fileLen;
|
|
private ApkString _name;
|
|
private string _content;
|
|
private MstsApk m_root;
|
|
private MstsApk m_parent;
|
|
public uint FileLen { get { return _fileLen; } }
|
|
public ApkString Name { get { return _name; } }
|
|
public string Content { get { return _content; } }
|
|
public MstsApk M_Root { get { return m_root; } }
|
|
public MstsApk M_Parent { get { return m_parent; } }
|
|
}
|
|
private ApkString _routeDisplayName;
|
|
private ApkString _routeId1;
|
|
private ApkString _routeId2;
|
|
private uint _unknownNumber;
|
|
private uint _fileCount;
|
|
private List<File> _files;
|
|
private MstsApk m_root;
|
|
private KaitaiStruct m_parent;
|
|
public ApkString RouteDisplayName { get { return _routeDisplayName; } }
|
|
public ApkString RouteId1 { get { return _routeId1; } }
|
|
public ApkString RouteId2 { get { return _routeId2; } }
|
|
|
|
/// <summary>
|
|
/// I do not know what this value is and I can work without it!
|
|
/// </summary>
|
|
public uint UnknownNumber { get { return _unknownNumber; } }
|
|
public uint FileCount { get { return _fileCount; } }
|
|
public List<File> Files { get { return _files; } }
|
|
public MstsApk M_Root { get { return m_root; } }
|
|
public KaitaiStruct M_Parent { get { return m_parent; } }
|
|
}
|
|
}
|