private void _parse() { _hdr = new AsnHdr(m_io, this, m_root); switch (Hdr.Tag) { case Snmp.AsnTypeTag.Set: { __raw_body = m_io.ReadBytes(Hdr.Len.Value); var io___raw_body = new KaitaiStream(__raw_body); _body = new BodySequence(io___raw_body, this, m_root); break; } case Snmp.AsnTypeTag.OctetString: { __raw_body = m_io.ReadBytes(Hdr.Len.Value); var io___raw_body = new KaitaiStream(__raw_body); _body = new BodyPrintableString(io___raw_body, this, m_root); break; } case Snmp.AsnTypeTag.Utf8string: { __raw_body = m_io.ReadBytes(Hdr.Len.Value); var io___raw_body = new KaitaiStream(__raw_body); _body = new BodyUtf8string(io___raw_body, this, m_root); break; } case Snmp.AsnTypeTag.Sequence30: { __raw_body = m_io.ReadBytes(Hdr.Len.Value); var io___raw_body = new KaitaiStream(__raw_body); _body = new BodySequence(io___raw_body, this, m_root); break; } case Snmp.AsnTypeTag.Integer: { __raw_body = m_io.ReadBytes(Hdr.Len.Value); var io___raw_body = new KaitaiStream(__raw_body); _body = new BodyInteger(io___raw_body, this, m_root); break; } case Snmp.AsnTypeTag.Sequence10: { __raw_body = m_io.ReadBytes(Hdr.Len.Value); var io___raw_body = new KaitaiStream(__raw_body); _body = new BodySequence(io___raw_body, this, m_root); break; } case Snmp.AsnTypeTag.PrintableString: { __raw_body = m_io.ReadBytes(Hdr.Len.Value); var io___raw_body = new KaitaiStream(__raw_body); _body = new BodyPrintableString(io___raw_body, this, m_root); break; } default: { _body = m_io.ReadBytes(Hdr.Len.Value); break; } } }
private void _read() { _typeTag = ((TypeTag)m_io.ReadU1()); _len = new LenEncoded(m_io, this, m_root); switch (TypeTag) { case TypeTag.Sequence30: { __raw_body = m_io.ReadBytes(Len.Result); var io___raw_body = new KaitaiStream(__raw_body); _body = new BodySequence(io___raw_body, this, m_root); break; } case TypeTag.Sequence10: { __raw_body = m_io.ReadBytes(Len.Result); var io___raw_body = new KaitaiStream(__raw_body); _body = new BodySequence(io___raw_body, this, m_root); break; } case TypeTag.Utf8string: { __raw_body = m_io.ReadBytes(Len.Result); var io___raw_body = new KaitaiStream(__raw_body); _body = new BodyUtf8string(io___raw_body, this, m_root); break; } case TypeTag.PrintableString: { __raw_body = m_io.ReadBytes(Len.Result); var io___raw_body = new KaitaiStream(__raw_body); _body = new BodyPrintableString(io___raw_body, this, m_root); break; } case TypeTag.ObjectId: { __raw_body = m_io.ReadBytes(Len.Result); var io___raw_body = new KaitaiStream(__raw_body); _body = new BodyObjectId(io___raw_body, this, m_root); break; } case TypeTag.Set: { __raw_body = m_io.ReadBytes(Len.Result); var io___raw_body = new KaitaiStream(__raw_body); _body = new BodySequence(io___raw_body, this, m_root); break; } default: { _body = m_io.ReadBytes(Len.Result); break; } } }