Commit bac556d6 authored by garciay's avatar garciay
Browse files

Merge STF455 staff

parent 9920a292
Loading
Loading
Loading
Loading
+37 −0
Original line number Diff line number Diff line
/**
 * @author      ETSI / STF462 / Alexandre Berge
 * @version     $URL$
 *              $Id$
 */
package org.etsi.ttcn.codec.its.adapter;

import org.etsi.ttcn.codec.CodecBuffer;
import org.etsi.ttcn.codec.MainCodec;
import org.etsi.ttcn.codec.generic.Union;
import org.etsi.ttcn.common.ByteHelper;
import org.etsi.ttcn.tci.UnionValue;

public class AcFsapPrimitive extends Union {

    public AcFsapPrimitive(MainCodec mainCodec) {
        super(mainCodec);
    }

    @Override
    protected void preEncode(CodecBuffer buf, UnionValue uv) {
        String variant = uv.getPresentVariantName();
        int primitiveId = -1;

        // Append AcGnPrimitive message id
        buf.appendBytes(ByteHelper.intToByteArray(2, 1)); // AdapterControl Primitive identifer for AcFsapPrimitive

        // Append primitive command identifier
        if(variant.equals("inSapPrimitivesUp")) {
            primitiveId = 0;
        }
        else if(variant.equals("stopTransmission")) {
            primitiveId = 1;
        }
        buf.appendBytes(ByteHelper.intToByteArray(primitiveId, 1));
    }
}
+1 −0
Original line number Diff line number Diff line
@@ -15,5 +15,6 @@ public class Plugin {
        CodecFactory cf = CodecFactory.getInstance();
        cf.setCodec(TciTypeClass.UNION, "AdapterControl", "AcGnPrimitive", AcGnPrimitive.class);
        cf.setCodec(TciTypeClass.UNION, "AdapterControl", "AcGnResponse", AcGnResponse.class);
        cf.setCodec(TciTypeClass.UNION, "AdapterControl", "AcFsapPrimitive", AcFsapPrimitive.class);
    }
}
 No newline at end of file
+35 −0
Original line number Diff line number Diff line
package org.etsi.ttcn.codec.its.atsp;

import org.etsi.ttcn.codec.CodecBuffer;
import org.etsi.ttcn.codec.MainCodec;
import org.etsi.ttcn.codec.generic.Record;
import org.etsi.ttcn.tci.RecordValue;
import org.etsi.ttcn.tci.Type;
import org.etsi.ttcn.tci.Value;

public class AtspInd extends Record {

    public AtspInd(MainCodec mainCodec) {
        super(mainCodec);
    }

    @Override
    protected void preDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) {

    	System.out.println("FntpInd.preDecodeField: " + fieldName + " - " + decodingHypothesis.getName());
        if(fieldName.equals("receptionTime")) {
            buf.overwriteWith(receptionTime);
        }
    }

    @Override
    protected void preDecode(CodecBuffer buf, Type decodingHypothesis) {
        int msgLen = buf.getNbBits() - 6/*Time48IAT*/ * Byte.SIZE;
        
        receptionTime = buf.getBuffer(msgLen, 6 * Byte.SIZE);
    }
    
    private CodecBuffer receptionTime = null;
    
} // End of class FntpInd 
+19 −0
Original line number Diff line number Diff line
/**
 * @author      ETSI / STF462 / Alexandre Berge
 * @version     $URL$
 *              $Id$
 */
package org.etsi.ttcn.codec.its.atsp;

import org.etsi.ttcn.tci.TciTypeClass;
import org.etsi.ttcn.codec.CodecFactory;

public class Plugin {

    public static void init() {

        CodecFactory cf = CodecFactory.getInstance();

        cf.setCodec(TciTypeClass.RECORD, "LibIts_Interface", "AtspInd", AtspInd.class);
    }
}
 No newline at end of file
+41 −0
Original line number Diff line number Diff line
/**
 * @author      ETSI / STF462 / Alexandre Berge
 * @version     $URL$
 *              $Id$
 */
package org.etsi.ttcn.codec.its.configtester;

import org.etsi.ttcn.codec.CodecBuffer;
import org.etsi.ttcn.codec.MainCodec;
import org.etsi.ttcn.codec.generic.Boolean;
import org.etsi.ttcn.tci.Type;
import org.etsi.ttcn.tci.Value;

public class CfBoolean extends Boolean {

    public CfBoolean(MainCodec mainCodec) {
        super(mainCodec);
    }

    @Override
    public Value decode(CodecBuffer buf, Type decodingHypothesis) {
        
        Byte id = CfPduId.value(decodingHypothesis.getName());
        if(id != null) {
            byte[] readId = buf.readBytes(1);
            if(readId[0] != id) {
                return null;
            }
        }
        return super.decode(buf, decodingHypothesis);
    }
    
    @Override
    public CodecBuffer preEncode(Value value) {
        Byte id = CfPduId.value(value.getType().getName());
        if(id != null) {
            return new CodecBuffer(new byte[] {id.byteValue()});
        }
        return null;
    }    
}
Loading