Esempio n. 1
0
            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;
            }
            }
        }