/.metadata/.plugins/org.eclipse.core.resources/.history/4b/f0368dc980a3001e1dff9ae635b3e1ee
#! | 67 lines | 56 code | 11 blank | 0 comment | 0 complexity | b0d0ce463f9708e19a7ad4592793677a MD5 | raw file
- package info.reflectionsofmind.connexion.platform.cli;
-
- import info.reflectionsofmind.connexion.platform.control.IRoot;
- import info.reflectionsofmind.connexion.platform.control.ServerInfo;
- import info.reflectionsofmind.connexion.platform.control.control.IConnectControl;
- import info.reflectionsofmind.connexion.platform.control.control.IJoinControl;
- import info.reflectionsofmind.connexion.platform.game.IGame;
- import info.reflectionsofmind.connexion.transport.AbstractTransport;
- import info.reflectionsofmind.connexion.transport.ITransport;
- import info.reflectionsofmind.connexion.transport.ITransport.INode;
-
- import java.util.concurrent.Future;
-
- public class ConnectInterpreter implements IConnectControl, IInterpreter
- {
- private final IGame game;
- private final IRoot root;
-
- public ConnectInterpreter(final IRoot root, final IGame game)
- {
- this.game = game;
- this.root = root;
- }
-
- public Future<IJoinControl> connect(final String name, final INode server)
- {
- return null;
- }
-
- public IGame getGame()
- {
- return this.game;
- }
-
- public IRoot getRoot()
- {
- return this.root;
- }
-
- public void interpret(final String command)
- {
- if (command.equals("connect"))
- {
- final ServerInfo info = this.root.getConfiguration().getServers().get(0);
- final ITransport transport = info.getFactory().createTransport(info.getParameters());
-
- final ITransport.IListener listener = new AbstractTransport.Listener()
- {
- @Override
- public void onTrace(final ITransport transport, final String trace)
- {
- System.out.println(trace);
- }
- };
-
- transport.addListener(listener);
- transport.start();
- transport.removeListener(listener);
-
- connect("Player", transport.createNode(info.getAddress()));
- }
- else if ("exit".equals(command))
- {
- getRoot().restart();
- }
- }
- }