using Etsi.Ttcn3; public class CoffeeCodec : Codec { public override TriMessage encode(Value value) { int i; Type type = value.getType(); int typeclass = type.getTypeClass(); if (typeclass == (int) TciTypeClass.INTEGER) { i = ((IntegerValue)value).getInteger(); byte[] bytes = Convert.IntToByteArray(i); TriMessage msg = Framework.GetFactory().TriMessage(); msg.setEncodedMessage(bytes); return msg; } else { // should not be reached, signal error Framework.GetTciCDRequired().tciErrorReq ("unexpected typeclass"); return null; } } public override Value decode (TriMessage message, Type decodingHypothesis) { int typeclass = decodingHypothesis.getTypeClass(); if (typeclass == (int) TciTypeClass.CHARSTRING) { byte[] bytes = message.getEncodedMessage(); string str = Convert.ByteArrayToString(bytes); CharstringValue val = Framework.GetFactory().CharstringValue(); val.setString(str); return val; } else { // should not be reached, signal error Framework.GetTciCDRequired().tciErrorReq ("unexpected typeclass"); return null; } } }