Mercurial > hg > Members > riono > TreeVNC_ja_comment
view src/main/java/jp/ac/u_ryukyu/treevnc/CreateConnectionParam.java @ 514:887ebd993b3d
separate rfb broadcast
author | mir3636 |
---|---|
date | Thu, 21 Feb 2019 16:52:21 +0900 |
parents | b97fdcd337fe |
children |
line wrap: on
line source
package jp.ac.u_ryukyu.treevnc; import com.glavsoft.viewer.ViewerInterface; import com.glavsoft.viewer.swing.ConnectionParams; public class CreateConnectionParam { private final FindRoot getBcast; private String hostName; private int portNumber = ConnectionParams.DEFAULT_VNC_ROOT; private TreeRFBProto rfb; private String myHostName; private boolean rootMode = false; private boolean displayMode = false; public CreateConnectionParam(TreeRFBProto rfb) { this.rfb = rfb; rfb.setConnectionParam(this); getBcast = new FindRoot(rfb.acceptPort,this); } public synchronized void findTreeVncRoot() { rfb.createRootSelectionPanel(this, getBcast); getBcast.findRoot(); // wait for RootSelection try { wait(); } catch (InterruptedException e) { System.out.println("any thread interrupt when wait for FindRoot " + e.getMessage()); } } /** * To find parent, send WHERE_TO_CONNECT command to the TreeVNC root * Incoming CONNECT_TO message is handled in MyRFBProto * @param v */ public void sendWhereToConnect(ViewerInterface v) { rfb.setConnectionParam(this); TreeVncProtocol echo = new TreeVncProtocol(hostName,portNumber); echo.whereToConnect(myHostName,rfb.getAcceptPort()); } public synchronized void setHostName(String _hostName, int port, String _myHostName) { hostName = _hostName; portNumber = port; myHostName = _myHostName; notify(); } public void setHostName(String hostAndPort) { int i = hostAndPort.indexOf(':'); if (i>0) { portNumber = Integer.parseInt(hostAndPort.substring(i+1)); hostName = hostAndPort.substring(0,i); } else hostName = hostAndPort; // who sets myHostName? } public String getMyHostName() { return myHostName; } public int getPort() { return portNumber; } public String getHostName() { return hostName; } public void setRootMode() { rootMode = true; } public boolean isRootMode() { return rootMode; } public void setDisplayMode() { displayMode = true; } public boolean isDisplayMode() { return displayMode; } public synchronized void restart() { notify(); } public FindRoot getFindRoot() { return getBcast; } }