Newer
Older
package org.etsi.its.tool.elvior;
import org.elvior.ttcn.tritci.TriProvider;
import org.etsi.ttcn.tci.Type;
import org.etsi.ttcn.tci.Value;
import org.etsi.ttcn.tri.TriMessage;
/**
*
* Note that "Enable Internal Codec" field shall be set to true
*
*/
public class LibItsContainer_asn1 extends LibIts_asn1 {
/**
* Constructor
*/
public LibItsContainer_asn1() {
_logger.entering("LibItsContainer_asn1", "LibItsContainer_asn1");
_encodingName = "ITS_Container";
}
public Value decode(final TriMessage message, final Type decodingHypothesis) {
_logger.entering("LibItsContainer_asn1", "decode", decodingHypothesis.getName());
Value value = null;
if (decodingHypothesis.getName().equals("TimestampIts")) {
int ival = ByteHelper.byteArrayToInt(message.getEncodedMessage());
long lval = ((long)ival) << 6;
TriMessage msg = TriProvider.getInstance().getTriFactory().createMessage();
msg.setEncodedMessage(ByteHelper.longToByteArray(lval, 6));
value = super.decode(msg, decodingHypothesis);
} else if (decodingHypothesis.getName().equals("TimeMark")) {
TriMessage msg1 = TriProvider.getInstance().getTriFactory().createMessage();
msg1.setEncodedMessage(message.getEncodedMessage());
value = super.decode(msg1, decodingHypothesis);
} else {
value = super.decode(message, decodingHypothesis);
}
_logger.exiting("LibIts_asn1", "decode", value.toString());
return value;
}