summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/control/network/IConnectionControl.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub/control/network/IConnectionControl.java')
-rw-r--r--src/jrummikub/control/network/IConnectionControl.java51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/jrummikub/control/network/IConnectionControl.java b/src/jrummikub/control/network/IConnectionControl.java
new file mode 100644
index 0000000..6d0bab4
--- /dev/null
+++ b/src/jrummikub/control/network/IConnectionControl.java
@@ -0,0 +1,51 @@
+package jrummikub.control.network;
+
+import java.awt.Color;
+import java.util.UUID;
+
+import jrummikub.util.GameData;
+import jrummikub.util.IEvent;
+import jrummikub.util.IEvent1;
+import jrummikub.util.IEvent2;
+
+interface IConnectionControl {
+
+ public String getNickname();
+
+ public void connect();
+
+ public void disconnect();
+
+ public IEvent getConnectedEvent();
+
+ public IEvent getConnectionFailedEvent();
+
+ public IEvent1<GameData> getGameOfferEvent();
+
+ public IEvent1<UUID> getGameWithdrawalEvent();
+
+ public IEvent1<String> getGameJoinEvent();
+
+ public IEvent1<String> getGameLeaveEvent();
+
+ public IEvent1<Boolean> getGameJoinAckEvent();
+
+ public IEvent2<String, Color> getChangeColorEvent();
+
+ 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);
+
+} \ No newline at end of file