package games.strategy.engine.random; import java.io.IOException; import java.lang.reflect.InvocationTargetException; import games.strategy.engine.framework.startup.ui.editors.IBean; public interface IRemoteDiceServer extends IBean { /** * Post a request to the dice server, and return the resulting html page as a string. */ String postRequest(int max, int numDice, String subjectMessage, String gameID, String gameUUID) throws IOException; /** * Given the html page returned from postRequest, return the dice [] * throw an InvocationTargetException to indicate an error message to be returned. */ int[] getDice(String string, int count) throws IOException, InvocationTargetException; /** * Get the to address. * * @return returns the to address or null if not configured */ String getToAddress(); /** * Set the to address. * * @param toAddress * the new to address */ void setToAddress(String toAddress); /** * get the CC address. * * @return the address or null if not configured */ String getCcAddress(); /** * Set the cc address. * * @param ccAddress * the address or null if not configured */ void setCcAddress(String ccAddress); /** * Get the info text displayed for this Dice server. * * @return the info text */ String getInfoText(); /** * True if this dice server sends email, and therefore requires email addresses. * * @return true if email addresses are required */ boolean sendsEmail(); /** * True if this dice server requires a game id. * * @return true if a game id is required */ boolean supportsGameId(); /** * Set the game id used for this instance. * If you don't provide a game id, the TripleA GUID will be used * * @param gameId * the new game id */ void setGameId(String gameId); /** * Get the configured game id. * * @return the game id or null if not configured */ String getGameId(); }