comparison src/main/java/jp/ac/u_ryukyu/treevnc/server/VncProxyService.java @ 37:1454d6fe96c1

add Changehost.java
author one
date Wed, 19 Sep 2012 19:08:07 +0900
parents 1b81deb0abb3
children c2f0b6907448
comparison
equal deleted inserted replaced
36:b7d4d0349f99 37:1454d6fe96c1
35 * 35 *
36 */ 36 */
37 private static final long serialVersionUID = 1L; 37 private static final long serialVersionUID = 1L;
38 38
39 public MyRfbProtoProxy rfb; 39 public MyRfbProtoProxy rfb;
40 private ConnectionManager connectionManager;
40 // public AcceptClient acc; 41 // public AcceptClient acc;
41 public VncProxyService(Parser parser) { 42 public VncProxyService(Parser parser) {
42 this(); 43 this();
43 rfb = new MyRfbProtoProxy(); 44 rfb = new MyRfbProtoProxy();
44 ParametersHandler.completeSettingsFromCLI(parser, connectionParams, settings, uiSettings); 45 ParametersHandler.completeSettingsFromCLI(parser, connectionParams, settings, uiSettings);
47 logger.info("TightVNC Viewer version " + ver()); 48 logger.info("TightVNC Viewer version " + ver());
48 isApplet = false; 49 isApplet = false;
49 } 50 }
50 51
51 public VncProxyService() { 52 public VncProxyService() {
53 connectionManager = new ConnectionManager(this, isApplet);
52 connectionParams = new ParametersHandler.ConnectionParams(); 54 connectionParams = new ParametersHandler.ConnectionParams();
53 settings = ProtocolSettings.getDefaultSettings(); 55 settings = ProtocolSettings.getDefaultSettings();
54 uiSettings = super.uiSettings; 56 uiSettings = super.uiSettings;
55 } 57 }
56 58
60 private boolean forceReconnection; 62 private boolean forceReconnection;
61 private String reconnectionReason; 63 private String reconnectionReason;
62 private ConnectionParams connectionParams; 64 private ConnectionParams connectionParams;
63 private final ProtocolSettings settings; 65 private final ProtocolSettings settings;
64 private final UiSettings uiSettings; 66 private final UiSettings uiSettings;
65 private AcceptClient aClient;
66 private Thread bCast; 67 private Thread bCast;
67 private Thread accThread; 68 private Thread accThread;
68 private AcceptThread acceptThread; 69 private AcceptThread acceptThread;
69 private GetBroadCastProxy getCast; 70 private GetBroadCastProxy getCast;
70 71
107 } 108 }
108 109
109 @Override 110 @Override
110 public void run() { 111 public void run() {
111 // getHostData(); 112 // getHostData();
112 ConnectionManager connectionManager = new ConnectionManager(this, isApplet);
113 if (forceReconnection) { 113 if (forceReconnection) {
114 connectionManager.showReconnectDialog("Connection lost", reconnectionReason); 114 connectionManager.showReconnectDialog("Connection lost", reconnectionReason);
115 forceReconnection = false; 115 forceReconnection = false;
116 } 116 }
117 tryAgain = true; 117 tryAgain = true;
131 Writer writer = new Writer(workingSocket.getOutputStream()); 131 Writer writer = new Writer(workingSocket.getOutputStream());
132 // rfb.setStream(reader,writer); 132 // rfb.setStream(reader,writer);
133 workingProtocol = new Protocol(reader, writer, 133 workingProtocol = new Protocol(reader, writer,
134 new PasswordChooser(passwordFromParams, connectionParams, containerFrame, this), 134 new PasswordChooser(passwordFromParams, connectionParams, containerFrame, this),
135 settings); 135 settings);
136 aClient = new AcceptClient(connectionParams.hostName); 136 threadSetAndStart();
137 Thread thread = new Thread(new CreateThread(aClient));
138 thread.start();
139 workingProtocol.handshake(); 137 workingProtocol.handshake();
140 rfb.setProtocolContext(workingProtocol); 138 rfb.setProtocolContext(workingProtocol);
141
142 // input into change parents 139 // input into change parents
143 ClipboardControllerImpl clipboardController = 140 ClipboardControllerImpl clipboardController =
144 new ClipboardControllerImpl(workingProtocol, settings.getRemoteCharsetName()); 141 new ClipboardControllerImpl(workingProtocol, settings.getRemoteCharsetName());
145 clipboardController.setEnabled(settings.isAllowClipboardTransfer()); 142 clipboardController.setEnabled(settings.isAllowClipboardTransfer());
146 settings.addListener(clipboardController); 143 settings.addListener(clipboardController);
147
148 surface = new Surface(workingProtocol, this, uiSettings.getScaleFactor()); // this method 144 surface = new Surface(workingProtocol, this, uiSettings.getScaleFactor()); // this method
149 settings.addListener(this); 145 settings.addListener(this);
150 uiSettings.addListener(surface); 146 uiSettings.addListener(surface);
151 containerFrame = createContainer(); 147 containerFrame = createContainer();
152 connectionManager.setContainerFrame(containerFrame); 148 connectionManager.setContainerFrame(containerFrame);
153 updateFrameTitle(); 149 updateFrameTitle();
154 150 containerFrame.dispose();
155 151 containerFrame = null;
156 workingProtocol.startNormalHandling(this, surface, clipboardController,rfb); 152 workingProtocol.startNormalHandling(this, surface, clipboardController,rfb);
157 // rfb.setInitData(workingProtocol.getInitData()); too early 153 // rfb.setInitData(workingProtocol.getInitData()); too early
158 // workingProtocol.startNormalHandling(this, surface, clipboardController); 154 // workingProtocol.startNormalHandling(this, surface, clipboardController);
159 tryAgain = false; 155 tryAgain = false;
160 } catch (UnsupportedProtocolVersionException e) { 156 } catch (UnsupportedProtocolVersionException e) {
242 if (e != null && e.getComponent() != null) { 238 if (e != null && e.getComponent() != null) {
243 e.getWindow().setVisible(false); 239 e.getWindow().setVisible(false);
244 } 240 }
245 closeApp(); 241 closeApp();
246 } 242 }
243
244 private void threadSetAndStart() {
245 AcceptClient aClient = new AcceptClient(connectionParams.hostName);
246 Thread thread = new Thread(new CreateThread(aClient));
247 thread.start();
248 thread = new Thread(new ChangeHost(this, forceReconnection));
249 thread.start();
250
251 }
252
253 public void setConnectionManager(ConnectionManager _connectionManager) {
254 connectionManager = _connectionManager;
255 }
247 } 256 }