From c50fd5d7016354fbd462078e7ae296e2bc5ed86e Mon Sep 17 00:00:00 2001 From: Jannis Harder Date: Sat, 18 Jun 2011 03:23:30 +0200 Subject: Created IConnectionControl and preliminary MockConnectionControl git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@460 72836036-5685-4462-b002-a69064685172 --- .../control/network/ConnectionControl.java | 90 +++++++++++++--------- 1 file changed, 55 insertions(+), 35 deletions(-) (limited to 'src/jrummikub/control/network/ConnectionControl.java') diff --git a/src/jrummikub/control/network/ConnectionControl.java b/src/jrummikub/control/network/ConnectionControl.java index 57e0cc6..ca8537d 100644 --- a/src/jrummikub/control/network/ConnectionControl.java +++ b/src/jrummikub/control/network/ConnectionControl.java @@ -32,7 +32,7 @@ import org.jivesoftware.smack.util.Base64; import org.jivesoftware.smackx.muc.DiscussionHistory; import org.jivesoftware.smackx.muc.MultiUserChat; -class ConnectionControl { +class ConnectionControl implements IConnectionControl { private final static String ELEMENT_NAME = "rummikub"; private final static String NAMESPACE = "http://home.universe-factory.net/rummikub/"; @@ -61,15 +61,18 @@ class ConnectionControl { this.loginData = loginData; } - String getNickname() { + @Override + public String getNickname() { return muc.getNickname(); } - void connect() { + @Override + public void connect() { new Thread(new ConnectRunner()).start(); } - void disconnect() { + @Override + public void disconnect() { connectedEvent = new Event(); connectionFailedEvent = new Event(); new Thread(new Runnable() { @@ -85,45 +88,55 @@ class ConnectionControl { }).start(); } - IEvent getConnectedEvent() { + @Override + public IEvent getConnectedEvent() { return connectedEvent; } - IEvent getConnectionFailedEvent() { + @Override + public IEvent getConnectionFailedEvent() { return connectionFailedEvent; } - IEvent1 getGameOfferEvent() { + @Override + public IEvent1 getGameOfferEvent() { return gameOfferEvent; } - IEvent1 getGameWithdrawalEvent() { + @Override + public IEvent1 getGameWithdrawalEvent() { return gameWithdrawalEvent; } - IEvent1 getGameJoinEvent() { + @Override + public IEvent1 getGameJoinEvent() { return gameJoinEvent; } - IEvent1 getGameLeaveEvent() { + @Override + public IEvent1 getGameLeaveEvent() { return gameLeaveEvent; } - IEvent1 getGameJoinAckEvent() { + @Override + public IEvent1 getGameJoinAckEvent() { return gameJoinAckEvent; } - IEvent2 getChangeColorEvent() { + @Override + public IEvent2 getChangeColorEvent() { return changeColorEvent; } - void offerGame(GameData data) { + @Override + public void offerGame(GameData data) { offeredGame = data; currentGame = data; sendGameOffer(); } - void withdrawGame() { + @Override + public void withdrawGame() { offeredGame = null; final UUID uuid = currentGame.getGameID(); currentGame = null; @@ -131,65 +144,70 @@ class ConnectionControl { @Override public Message send() { DefaultPacketExtension extension = createJRummikubExtension(); - + extension.setValue("messageType", "game_withdrawal"); extension.setValue("uuid", uuid.toString()); - + return createMessage(extension); } }).start(); } - GameData getCurrentGame() { + @Override + public GameData getCurrentGame() { return currentGame; } - void setCurrentGame(GameData game) { + @Override + public void setCurrentGame(GameData game) { this.currentGame = game; } - void joinGame(final GameData game) { + @Override + public void joinGame(final GameData game) { setCurrentGame(game); new Thread(new SendRunner() { @Override public Message send() { DefaultPacketExtension extension = createJRummikubExtension(); - + extension.setValue("messageType", "game_join"); extension.setValue("uuid", game.getGameID().toString()); - + return createMessage(extension); } }).start(); } - void leaveGame() { + @Override + public void leaveGame() { final UUID uuid = currentGame.getGameID(); currentGame = null; new Thread(new SendRunner() { @Override public Message send() { DefaultPacketExtension extension = createJRummikubExtension(); - + extension.setValue("messageType", "game_leave"); extension.setValue("uuid", uuid.toString()); - + return createMessage(extension); } }).start(); } - void ackJoinGame(final String recipient, final boolean ack) { + @Override + public void ackJoinGame(final String recipient, final boolean ack) { final UUID uuid = currentGame.getGameID(); new Thread(new SendRunner() { @Override public Message send() { DefaultPacketExtension extension = createJRummikubExtension(); - + extension.setValue("messageType", "game_join_ack"); extension.setValue("uuid", uuid.toString()); extension.setValue("ack", Boolean.toString(ack)); - + Message message = createMessage(extension); message.setType(Message.Type.normal); message.setTo(muc.getRoom() + "/" + recipient); @@ -198,21 +216,23 @@ class ConnectionControl { }).start(); } - void changeColor(final Color color) { + @Override + public void changeColor(final Color color) { final UUID uuid = currentGame.getGameID(); new Thread(new SendRunner() { @Override public Message send() { DefaultPacketExtension extension = createJRummikubExtension(); - + extension.setValue("messageType", "change_color"); extension.setValue("uuid", uuid.toString()); - extension.setValue("color", Base64.encodeObject(color, Base64.GZIP)); - + extension.setValue("color", + Base64.encodeObject(color, Base64.GZIP)); + return createMessage(extension); } }).start(); - + } private void sendGameOffer() { @@ -231,15 +251,15 @@ class ConnectionControl { } }).start(); } - + private void requestGames() { new Thread(new SendRunner() { @Override public Message send() { DefaultPacketExtension extension = createJRummikubExtension(); - + extension.setValue("messageType", "game_request"); - + return createMessage(extension); } }); -- cgit v1.2.3