/* build instance from block */ public MxEvent(byte[] byteEvent, MxChannel chBuilder, MxSignal sigBuilder) { type = byteEvent[EVENT_TYPE_OFFSET]; channel = chBuilder.fromByte(byteEvent[EVENT_CHANNEL_OFFSET]); signal = sigBuilder.fromByte(byteEvent[EVENT_SIG_OFFSET]); length = byteEvent[EVENT_LENGTH_OFFSET]; if (length != 0) { raw = byteEvent; dataBuf = ByteBuffer.wrap(raw, EVENT_HEADER_SIZE, length); } }
public MxEvent(JSONObject jsonEvent, MxChannel chBuilder, MxSignal sigBuilder) throws JSONException { if (jsonEvent.has(EVENT_TYPE_NAME)) type = (byte) jsonEvent.getInt(EVENT_TYPE_NAME); else type = MxEvent.EVENT_TYPE_RELAY; channel = chBuilder.fromByte((byte) jsonEvent.getInt(EVENT_CHANNEL_NAME)); signal = sigBuilder.fromByte((byte) jsonEvent.getInt(EVENT_SIG_NAME)); // length = (byte)jsonEvent.getInt(EVENT_LENGTH_NAME); // general data must in string if (jsonEvent.has(EVENT_DATA_NAME)) { raw = jsonEvent.getString(EVENT_DATA_NAME).getBytes(); length = (byte) raw.length; dataBuf = ByteBuffer.wrap(raw, EVENT_HEADER_SIZE, length); } }