package org.zu.ardulink.protocol.parser;
public interface IProtocolParser {
/**
*
* @return the protocol name
*/
public String getProtocolName();
/**
* Parse an incoming message.
* @param message
* @return MessageParsedInfo
* @throws ParseException
*/
public MessageParsedInfo parse(String message) throws ParseException;
/**
* write a Reply message like arduino that use a specific protocol
* @param success
* @param messageParsedInfo
* @return
*/
public int[] reply(boolean success, MessageParsedInfo messageParsedInfo);
/**
* write a message for an analog read event
* @param pin
* @param value
* @return
*/
public int[] analogRead(int pin, int value);
/**
* write a message for a digital read event
* @param pin
* @param value
* @return
*/
public int[] digitalRead(int pin, int value);
/**
* write a custom message
* @param message
* @return
*/
public int[] customMessage(String message);
public IProtocolMessageStore getMessageStore();
}