diff options
author | Jannis Harder <harder@informatik.uni-luebeck.de> | 2011-06-18 03:23:30 +0200 |
---|---|---|
committer | Jannis Harder <harder@informatik.uni-luebeck.de> | 2011-06-18 03:23:30 +0200 |
commit | c50fd5d7016354fbd462078e7ae296e2bc5ed86e (patch) | |
tree | 3c97fc9e4715f80431da29fe6c46cfd83bd4cf7f /src/jrummikub/control/network/ConnectionControl.java | |
parent | 325802a215562eef9effef943cd8094c0369daaf (diff) | |
download | JRummikub-c50fd5d7016354fbd462078e7ae296e2bc5ed86e.tar JRummikub-c50fd5d7016354fbd462078e7ae296e2bc5ed86e.zip |
Created IConnectionControl and preliminary MockConnectionControl
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@460 72836036-5685-4462-b002-a69064685172
Diffstat (limited to 'src/jrummikub/control/network/ConnectionControl.java')
-rw-r--r-- | src/jrummikub/control/network/ConnectionControl.java | 90 |
1 files changed, 55 insertions, 35 deletions
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<GameData> getGameOfferEvent() { + @Override + public IEvent1<GameData> getGameOfferEvent() { return gameOfferEvent; } - IEvent1<UUID> getGameWithdrawalEvent() { + @Override + public IEvent1<UUID> getGameWithdrawalEvent() { return gameWithdrawalEvent; } - IEvent1<String> getGameJoinEvent() { + @Override + public IEvent1<String> getGameJoinEvent() { return gameJoinEvent; } - IEvent1<String> getGameLeaveEvent() { + @Override + public IEvent1<String> getGameLeaveEvent() { return gameLeaveEvent; } - IEvent1<Boolean> getGameJoinAckEvent() { + @Override + public IEvent1<Boolean> getGameJoinAckEvent() { return gameJoinAckEvent; } - IEvent2<String, Color> getChangeColorEvent() { + @Override + public IEvent2<String, Color> 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); } }); |