view src/main/java/jp/ac/u_ryukyu/treevnc/server/state/ChangeHost.java @ 53:978261e2b396

screen change for client
author one
date Tue, 05 Nov 2013 17:20:53 +0900
parents eb34277a22ff
children 9fdb8ff88497
line wrap: on
line source

package jp.ac.u_ryukyu.treevnc.server.state;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.UnknownHostException;
import jp.ac.u_ryukyu.treevnc.server.VncProxyService;

public class ChangeHost implements Runnable,ScreenChanges {

	private VncProxyService vps;
	private ScreenChanges screenChange;
	

	public ChangeHost(VncProxyService _vps, boolean isApplet) {
		vps = _vps;
		screenChange = this;
	}


	String str;

	@Override
	public void run() {
		try {
			while(screenChange.next());
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	public String getHost() {
		return str;
	}

	private void waitingInput() {
		try {
			while(true) {
				BufferedReader br = new BufferedReader(new InputStreamReader(
						System.in));
				str = br.readLine();
				vps.changeVNCServer(str);
			}
//			vps.createConnectionAndStart();
//			vps.aClient.setList(prevVps.aClient.getList());
//			clientList = prevVps.aClient.getList();
//			createSocketAndSend(clientList,String.valueOf(port));
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	
	@Override
	public boolean next() {
		waitingInput();
		changeState(new ReconnectionRequest(vps));
		return true;
	}

	public void changeState(ScreenChanges change) {
		screenChange = change;
	}
}