package jrummikub.control.network; import java.awt.Color; import java.util.UUID; import jrummikub.control.RoundControl.InvalidTurnInfo; import jrummikub.model.IRoundState; import jrummikub.model.ITable; import jrummikub.util.GameData; import jrummikub.util.IEvent; import jrummikub.util.IEvent1; import jrummikub.util.IEvent2; import jrummikub.view.LoginError; interface IConnectionControl { public String getNickname(); public void connect(); public void disconnect(); public IEvent getConnectedEvent(); public IEvent1 getConnectionFailedEvent(); public IEvent1 getGameOfferEvent(); public IEvent1 getGameWithdrawalEvent(); public IEvent1 getGameJoinEvent(); public IEvent1 getGameLeaveEvent(); public IEvent1 getGameJoinAckEvent(); public IEvent2 getChangeColorEvent(); public IEvent getGameStartEvent(); public IEvent getRoundStartEvent(); public IEvent1 getRoundStateUpdateEvent(); public IEvent1 getTableUpdateEvent(); public IEvent2 getTurnEndEvent(); public IEvent getNextPlayerEvent(); public IEvent getTurnStartEvent(); public void offerGame(GameData data); public void withdrawGame(); public GameData getCurrentGame(); public void setCurrentGame(GameData game); public void joinGame(final GameData game); public void leaveGame(); public void ackJoinGame(final String recipient, final boolean ack); public void changeColor(final Color color); public void startGame(); public void startRound(); public void updateRoundState(IRoundState roundState); public void updateTable(ITable table); public void endTurn(IRoundState state, InvalidTurnInfo invalidTurnInfo); public void nextPlayer(); public void startTurn(); }