From 53e20c8aa8b93668bbf36ba1ed00e52ead0b2d78 Mon Sep 17 00:00:00 2001 From: Sven Gestegard Robertz <sven.robertz@cs.lth.se> Date: Fri, 23 Jan 2015 13:45:53 +0100 Subject: [PATCH] placeholder typedef encoding in java lib --- .../lth/control/labcomm/EncoderChannel.java | 41 +++++++++++++------ 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/lib/java/se/lth/control/labcomm/EncoderChannel.java b/lib/java/se/lth/control/labcomm/EncoderChannel.java index 08f9c87..01330fe 100644 --- a/lib/java/se/lth/control/labcomm/EncoderChannel.java +++ b/lib/java/se/lth/control/labcomm/EncoderChannel.java @@ -27,19 +27,36 @@ public class EncoderChannel implements Encoder { } public void register(SampleDispatcher dispatcher) throws IOException { - if(dispatcher.getTypeDeclTag() == Constant.SAMPLE_DEF) { - int index = def_registry.add(dispatcher); - //begin(Constant.SAMPLE_DEF); - begin(dispatcher.getTypeDeclTag()); - encodePacked32(index); - encodeString(dispatcher.getName()); - byte[] signature = dispatcher.getSignature(); - encodePacked32(signature.length); - for (int i = 0 ; i < signature.length ; i++) { - encodeByte(signature[i]); + switch (dispatcher.getTypeDeclTag()) { + case Constant.SAMPLE_DEF: { + int index = def_registry.add(dispatcher); + begin(dispatcher.getTypeDeclTag()); + encodePacked32(index); + encodeString(dispatcher.getName()); + byte[] signature = dispatcher.getSignature(); + encodePacked32(signature.length); + for (int i = 0 ; i < signature.length ; i++) { + encodeByte(signature[i]); + } + end(null); + break; } - end(null); - } + case Constant.TYPE_DEF: { + int index = def_registry.add(dispatcher); + begin(dispatcher.getTypeDeclTag()); + encodePacked32(index); + encodeString(dispatcher.getName()); + byte[] signature = dispatcher.getSignature(); + encodePacked32(8); + for (int i = 0 ; i < 8; i++) { + encodeByte((byte) 0xff); + } + end(null); + break; + } + default: + throw new Error("Unknown typeDeclTag: "+dispatcher.getTypeDeclTag()); + } } public void registerSampleRef(SampleDispatcher dispatcher) throws IOException { -- GitLab