Package org.hxzon.asn1.mms.common

Examples of org.hxzon.asn1.mms.common.EEClass


            /*
             * Write as definite length
             */

            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            BerOutputStream tmp = new BerOutputStream(baos, stream.getEncodingMethod());
            it = _fList.iterator();
            while (it.hasNext()) {
                BerNode node = it.next();
                node.writeElement(tmp);
            }
            tmp.close();
            baos.close();

            byte[] data = baos.toByteArray();
            stream.writeBerLength(data.length);
            stream.write(data);
View Full Code Here


    //add by hxzon
    protected void readValue(BerInputStream stream) {
        try {
            int readTag;
            ReadSequence seq = new ReadSequence(this.getName(), stream);
            //add by hxzon:after read len
            super.setOffsetAndLen(stream);
            readTag = seq.readBerTag();
            while (Tag.EOFTYPE != readTag) {
                try {
                    BerNode cnode = create(readTag, stream);
                    logger.trace("create " + cnode.getName() + "," + cnode.getTagDisplay() + ",tag offset:" + cnode.getTagOffset() + ",len:" + cnode.getTotalLen());
                    /** always add choice?
                            //if child is a choice ,and no tag ,and global set don't add choice node
                            if (cnode instanceof BerChoice && !((BerChoice) cnode).hasTag() && Asn1Utils.isNotAddChoiceNode()) {
                              cnode.setParent(this);
                              cnode = ((BerChoice) cnode).getLastRealNode();
                            }
                            **/
                    cnode.setParent(this);
                    _fList.add(cnode);
                } catch (Exception e) {
                    logger.error(this.getClass().getSimpleName() + "[" + this.getName() + "]", e);
                }
                readTag = seq.readBerTag();
            }
//      logger.trace("stream tag offset:"+stream.getTagOffset()+","+super.getDisplayString()+" tag offset:"+super.getTagOffset()
//          +", stream total len:"+stream.getTotalLen());
            super.setTotalLen(stream.getTagOffset() - super.getTagOffset() + stream.getTotalLen());
//      logger.trace("construct:" + super.getDisplayString() + ",tag offset" + super.getTagOffset() + ",total len:" + super.getTotalLen());
View Full Code Here

//  }

    public BerNode create(int tag, BerInputStream stream) {
        switch (tag) {
        case Tag.CONTEXT | 0:
            return new BerNull().init("vmd specific", "vmd specific", tag, stream);
        case Tag.CONTEXT | 1:
            return new Identifier().init("domain specific", "domain specific", tag, stream);
        case Tag.CONTEXT | 2:
            return new BerNull().init("aaSpecific", "aaSpecific", tag, stream);
        default:
            return Asn1Utils.createUnknown(tag, stream);
        }
    }
View Full Code Here

            return Asn1Utils.createBerBoolean("status", "status", tag, stream);
        case Tag.CONTEXT | 1:
            return new GetNameListRequest().init("getNameList", "getNameList", tag, stream);
        case Tag.CONTEXT | 2:
            //Identify-Request ::= NULL
            return new BerNull().init("identify", "identify", tag, stream);
        case Tag.CONTEXT | 3:
            return new RenameRequest().init("rename", "rename", tag, stream);
        case Tag.CONTEXT | 4:
            return new ReadRequest().init("read", "read", tag, stream);
        case Tag.CONTEXT | 5:
View Full Code Here

        setId("seq of " + type.getSimpleName());
    }

    @Override
    public BerNode create(int tag, BerInputStream stream) {
        BerNode node = null;
        try {
            node = _type.newInstance();
        } catch (Exception e) {
            e.printStackTrace();
        }
        if (node instanceof BerChoice) {
            return ((BerChoice) node).init(tag, stream, _choiceChildHasTag);
        }
        return node.init(tag, stream);
    }
View Full Code Here

        System.out.println(reverse);
        ByteArrayInputStream inStream = new ByteArrayInputStream(data);
        BerInputStream in = new BerInputStream(inStream);

        SvPduParser parser = SvPduParser.parser;
        BerNode node;
        while (null != (node = parser.readPacket(in))) {
            System.out.println(Asn1Utils.printBerNode(node));
        }
    }
View Full Code Here

//        String reverse=BytesUtil.toHexString(data);
//        System.out.println(reverse);
        ByteArrayInputStream inStream = new ByteArrayInputStream(data);
        BerInputStream in = new BerInputStream(inStream);

        BerNode node;
        while (null != (node = OsiPresentationParser.parser.readPacket(in))) {
            System.out.println(Asn1Utils.printBerNode(node));
        }
    }
View Full Code Here

            return Asn1Utils.createUnknown(tag, stream);
        }
    }

    public BerNode[] getUserData() {
        BerNode child = this.getRealNode();
        if (child instanceof UserDataContainer) {
            //pdv list or fully encoded data
            return ((UserDataContainer) child).getUserData();
        }
        //simplyEncodedData,unknown
View Full Code Here

            return Asn1Utils.createUnknown(tag, stream);
        }
    }

    public BerNode[] getUserData() {
        BerNode child = this.getRealNode();
        if (child instanceof UserDataContainer) {
            //single asn1 type
            return ((UserDataContainer) child).getUserData();
        }
        //octet-aligned,arbitrary,unknown
View Full Code Here

    }

    private void init(Sv91Pdu pdu, int offset) {
        byte[] data = pdu.getValue();
        fList = new ArrayList<BerNode>(25);
        BerNode node;
        offset += 0;
        int len = 2;
        datasetLen = (int) BytesUtil.toSigned(data, offset, len);
        node = Asn1Utils.createFakeBerInteger("datasetLen", "数据集长度", datasetLen, this.getValueOffset() + offset, len);
        fList.add(node);
View Full Code Here

TOP

Related Classes of org.hxzon.asn1.mms.common.EEClass

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.