annotate src/viewer_swing/java/com/glavsoft/viewer/ConnectionPresenter.java @ 389:5a61cbdd83ab

Lock rfb
author innparusu
date Tue, 22 Sep 2015 16:03:22 +0900
parents b0be610bc4db
children 704ac9e79e25
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 // Copyright (C) 2010, 2011, 2012, 2013 GlavSoft LLC.
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 // All rights reserved.
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 //
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 //-------------------------------------------------------------------------
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 // This file is part of the TightVNC software. Please visit our Web site:
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 //
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 // http://www.tightvnc.com/
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 //
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 // This program is free software; you can redistribute it and/or modify
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 // it under the terms of the GNU General Public License as published by
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 // the Free Software Foundation; either version 2 of the License, or
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 // (at your option) any later version.
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 //
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 // This program is distributed in the hope that it will be useful,
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 // but WITHOUT ANY WARRANTY; without even the implied warranty of
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 // GNU General Public License for more details.
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 //
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 // You should have received a copy of the GNU General Public License along
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 // with this program; if not, write to the Free Software Foundation, Inc.,
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 //-------------------------------------------------------------------------
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 //
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 package com.glavsoft.viewer;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26
373
b6665f7f18d1 Fix Change Server
innparusu
parents: 370
diff changeset
27 import com.glavsoft.rfb.protocol.Protocol;
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 import com.glavsoft.rfb.protocol.ProtocolSettings;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 import com.glavsoft.utils.Strings;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 import com.glavsoft.viewer.mvp.Presenter;
368
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
31 import com.glavsoft.viewer.mvp.View;
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
32 import com.glavsoft.viewer.swing.*;
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 import com.glavsoft.viewer.swing.gui.ConnectionView;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 import com.glavsoft.viewer.swing.gui.ConnectionsHistory;
369
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
35 import jp.ac.u_ryukyu.treevnc.TreeRFBProto;
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 import java.net.Socket;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 import java.util.logging.Logger;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 /**
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 * @author dime at tightvnc.com
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 */
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 public class ConnectionPresenter extends Presenter {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 public static final String PROPERTY_HOST_NAME = "HostName";
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 public static final String PROPERTY_RFB_PORT_NUMBER = "PortNumber";
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 public static final String PROPERTY_USE_SSH = "UseSsh";
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 private static final String PROPERTY_SSH_USER_NAME = "SshUserName";
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 private static final String PROPERTY_SSH_HOST_NAME = "SshHostName";
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 private static final String PROPERTY_SSH_PORT_NUMBER = "SshPortNumber";
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 private static final String PROPERTY_STATUS_BAR_MESSAGE = "Message";
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 private static final String PROPERTY_CONNECTION_IN_PROGRESS = "ConnectionInProgress";
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 public static final String CONNECTION_PARAMS_MODEL = "ConnectionParamsModel";
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 public static final String CONNECTIONS_HISTORY_MODEL = "ConnectionsHistoryModel";
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 public static final String CONNECTION_VIEW = "ConnectionView";
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
55
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 private final boolean hasSshSupport;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 private final boolean allowInteractive;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 private ConnectionsHistory connectionsHistory;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 private ProtocolSettings rfbSettings;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 private UiSettings uiSettings;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 private final Logger logger;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 private RfbConnectionWorker rfbConnectionWorker;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 private AbstractConnectionWorkerFactory connectionWorkerFactory;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 private NetworkConnectionWorker networkConnectionWorker;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 private boolean needReconnection = true;
60
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 57
diff changeset
66 private boolean isTreeVNC = false;
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
67 private boolean cuiVersion;
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
68 private boolean noConnection = false;
369
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
69 public ViewerInterface viewer;
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
70 private ConnectionParams connectionParams;
385
b0be610bc4db Set reconnectingID
innparusu
parents: 384
diff changeset
71 private short reconnectingId = -1;
369
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
72
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
73 public short getReconnectingId() {
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
74 return reconnectingId;
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
75 }
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
76
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
77 public void setReconnectingId(short reconnectingId) {
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
78 this.reconnectingId = reconnectingId;
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
79 }
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
80
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
81 public ConnectionParams getConnectionParams() {
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
82 return connectionParams;
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
83 }
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
84
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
85 public void setConnectionParams(ConnectionParams connectionParams) {
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
86 this.connectionParams = connectionParams;
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
87 }
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
88
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
89 public ConnectionPresenter(boolean hasSshSupport, boolean allowInteractive) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
90 this.hasSshSupport = hasSshSupport;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
91 this.allowInteractive = allowInteractive;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 logger = Logger.getLogger(getClass().getName());
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
93 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
94
383
7d55adebcacb impliment changeDirectConnectedWithSocket
kkb
parents: 374
diff changeset
95 public void startConnection(ProtocolSettings rfbSettings, UiSettings uiSettings, int paramSettingsMask, boolean exchangeSocket)
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
96 throws IllegalStateException {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
97 this.rfbSettings = rfbSettings;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
98 this.uiSettings = uiSettings;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
99 if ( ! isModelRegisteredByName(CONNECTION_PARAMS_MODEL)) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
100 throw new IllegalStateException("No Connection Params model added.");
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
101 }
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
102
60
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 57
diff changeset
103 if(!isTreeVNC) {
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
104 connectionsHistory = new ConnectionsHistory();
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
105 addModel(CONNECTIONS_HISTORY_MODEL, connectionsHistory);
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
106 syncModels(paramSettingsMask);
60
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 57
diff changeset
107 }
383
7d55adebcacb impliment changeDirectConnectedWithSocket
kkb
parents: 374
diff changeset
108
7d55adebcacb impliment changeDirectConnectedWithSocket
kkb
parents: 374
diff changeset
109 if (exchangeSocket) {
7d55adebcacb impliment changeDirectConnectedWithSocket
kkb
parents: 374
diff changeset
110 rfbConnectionWorker.startVNCConnection();
7d55adebcacb impliment changeDirectConnectedWithSocket
kkb
parents: 374
diff changeset
111 return;
7d55adebcacb impliment changeDirectConnectedWithSocket
kkb
parents: 374
diff changeset
112 }
7d55adebcacb impliment changeDirectConnectedWithSocket
kkb
parents: 374
diff changeset
113
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
114 if (allowInteractive) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
115 show();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
116 populate();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
117 } else {
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
118 if (!noConnection)
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
119 connect();
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
120 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
121 }
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
122
85
432dac0b9dae delete Share Screen pop up in display mode.
sugi
parents: 80
diff changeset
123 public void setNoConnection(boolean c){
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
124 noConnection = c;
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
125 needReconnection = false;
85
432dac0b9dae delete Share Screen pop up in display mode.
sugi
parents: 80
diff changeset
126 }
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
127
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
128 public void setUseSsh(boolean useSsh) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
129 setModelProperty(PROPERTY_USE_SSH, useSsh, boolean.class);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
130 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
131
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
132 public void submitConnection(String hostName) throws WrongParameterException {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
133 if (Strings.isTrimmedEmpty(hostName)) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
134 throw new WrongParameterException("Host name is empty", PROPERTY_HOST_NAME);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
135 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
136 setModelProperty(PROPERTY_HOST_NAME, hostName);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
137
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
138 final String rfbPort = (String) getViewPropertyOrNull(PROPERTY_RFB_PORT_NUMBER);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
139 setModelProperty(PROPERTY_RFB_PORT_NUMBER, rfbPort);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
140 try {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
141 throwPossiblyHappenedException();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 } catch (Throwable e) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 throw new WrongParameterException("Wrong Port", PROPERTY_HOST_NAME);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
144 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 setSshOptions();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
146
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
147 saveHistory();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
148 populateFrom(CONNECTIONS_HISTORY_MODEL);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
149
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
150 connect();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
151 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
152
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
153 public void saveHistory() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
154 final ConnectionParams cp = (ConnectionParams) getModel(CONNECTION_PARAMS_MODEL);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
155 connectionsHistory.reorder(cp, rfbSettings, uiSettings);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
156 connectionsHistory.save();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
157 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
158
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
159 private void connect() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
160 final ConnectionParams connectionParams = (ConnectionParams) getModel(CONNECTION_PARAMS_MODEL);
66
84ad879891e9 dont move
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 65
diff changeset
161 if(!cuiVersion)
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
162 networkConnectionWorker = connectionWorkerFactory.createNetworkConnectionWorker();
384
0bbfc23ef8c4 implements exchangeDirectConnectedServer method
innparusu
parents: 383
diff changeset
163 else
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
164 networkConnectionWorker = new SwingNetworkConnectionWorker(null);
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
165 networkConnectionWorker.setConnectionParams(connectionParams);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
166 networkConnectionWorker.setPresenter(this);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
167 networkConnectionWorker.setHasSshSupport(hasSshSupport);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
168 networkConnectionWorker.execute();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
169 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
170
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
171 public void connectionFailed() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
172 cancelConnection();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
173 if (allowInteractive) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
174 enableConnectionDialog();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
175 } else {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
176 connect();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
177 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
178 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
179
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
180 public void connectionCancelled() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
181 cancelConnection();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
182 if (allowInteractive) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
183 enableConnectionDialog();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
184 } else {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
185 final ConnectionView connectionView = (ConnectionView) getView(CONNECTION_VIEW);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
186 if (connectionView != null) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
187 connectionView.closeApp();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
188 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
189 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
190 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
191
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
192 private void enableConnectionDialog() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
193 setViewProperty(PROPERTY_CONNECTION_IN_PROGRESS, false, boolean.class);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
194 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
195
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
196 public void successfulNetworkConnection(Socket workingSocket) { // EDT
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
197 logger.info("Connected");
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
198 showMessage("Connected");
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
199 rfbConnectionWorker = connectionWorkerFactory.createRfbConnectionWorker();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
200 rfbConnectionWorker.setWorkingSocket(workingSocket);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
201 rfbConnectionWorker.setRfbSettings(rfbSettings);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
202 rfbConnectionWorker.setUiSettings(uiSettings);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
203 rfbConnectionWorker.setConnectionString(
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
204 getModelProperty(PROPERTY_HOST_NAME) + ":" + getModelProperty(PROPERTY_RFB_PORT_NUMBER));
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
205 rfbConnectionWorker.execute();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
206 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
207
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
208 public void successfulRfbConnection() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
209 enableConnectionDialog();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
210 getView(CONNECTION_VIEW).closeView();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
211 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
212
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
213 public void cancelConnection() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
214 if (networkConnectionWorker != null) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
215 networkConnectionWorker.cancel();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
216 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
217 if (rfbConnectionWorker != null) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
218 rfbConnectionWorker.cancel();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
219 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
220 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
221
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
222 public void showConnectionErrorDialog(String message) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
223 final ConnectionView connectionView = (ConnectionView) getView(CONNECTION_VIEW);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
224 if (connectionView != null) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
225 connectionView.showConnectionErrorDialog(message);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
226 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
227 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
228
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
229 public void showReconnectDialog(String errorTitle, String errorMessage) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
230 final ConnectionView connectionView = (ConnectionView) getView(CONNECTION_VIEW);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
231 if (connectionView != null) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
232 connectionView.showReconnectDialog(errorTitle, errorMessage);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
233 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
234 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
235
296
966331aef4b3 add share sound dialog when screen change request.
oc
parents: 224
diff changeset
236 public boolean showShareSoundDialog() {
966331aef4b3 add share sound dialog when screen change request.
oc
parents: 224
diff changeset
237 final ConnectionView connectionView = (ConnectionView) getView(CONNECTION_VIEW);
966331aef4b3 add share sound dialog when screen change request.
oc
parents: 224
diff changeset
238 boolean shareSound = false;
966331aef4b3 add share sound dialog when screen change request.
oc
parents: 224
diff changeset
239 if (connectionView != null) {
966331aef4b3 add share sound dialog when screen change request.
oc
parents: 224
diff changeset
240 shareSound = connectionView.showShareSoundDialog();
966331aef4b3 add share sound dialog when screen change request.
oc
parents: 224
diff changeset
241 }
966331aef4b3 add share sound dialog when screen change request.
oc
parents: 224
diff changeset
242 return shareSound;
966331aef4b3 add share sound dialog when screen change request.
oc
parents: 224
diff changeset
243 }
966331aef4b3 add share sound dialog when screen change request.
oc
parents: 224
diff changeset
244
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
245 private void setSshOptions() {
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
246 if (hasSshSupport) {
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
247 try {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
248 final boolean useSsh = (Boolean)getViewProperty(PROPERTY_USE_SSH);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
249 setModelProperty(PROPERTY_USE_SSH, useSsh, boolean.class);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
250 } catch (PropertyNotFoundException e) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
251 //nop
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
252 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
253 setModelProperty(PROPERTY_SSH_USER_NAME, getViewPropertyOrNull(PROPERTY_SSH_USER_NAME));
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
254 setModelProperty(PROPERTY_SSH_HOST_NAME, getViewPropertyOrNull(PROPERTY_SSH_HOST_NAME));
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
255 setModelProperty(PROPERTY_SSH_PORT_NUMBER, getViewPropertyOrNull(PROPERTY_SSH_PORT_NUMBER));
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
256 setViewProperty(PROPERTY_SSH_PORT_NUMBER, getModelProperty(PROPERTY_SSH_PORT_NUMBER));
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
257 }
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
258 }
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
259
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
260 private void syncModels(int paramSettingsMask) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
261 final ConnectionParams cp = (ConnectionParams) getModel(CONNECTION_PARAMS_MODEL);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
262 final ConnectionParams mostSuitableConnection = connectionsHistory.getMostSuitableConnection(cp);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
263 cp.completeEmptyFieldsFrom(mostSuitableConnection);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
264 rfbSettings.copyDataFrom(connectionsHistory.getProtocolSettings(mostSuitableConnection), paramSettingsMask & 0xffff);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
265 uiSettings.copyDataFrom(connectionsHistory.getUiSettingsData(mostSuitableConnection), (paramSettingsMask >> 16) & 0xffff);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
266 if ( ! cp.isHostNameEmpty()) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
267 connectionsHistory.reorder(cp, rfbSettings, uiSettings);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
268 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
269
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
270 // protocolSettings.addListener(connectionsHistory);
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
271 // uiSettings.addListener(connectionsHistory);
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
272 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
273
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
274 public void populateFromHistoryItem(ConnectionParams connectionParams) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
275 setModelProperty(PROPERTY_HOST_NAME, connectionParams.hostName);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
276 setModelProperty(PROPERTY_RFB_PORT_NUMBER, connectionParams.getPortNumber(), int.class);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
277 setModelProperty(PROPERTY_USE_SSH, connectionParams.useSsh(), boolean.class);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
278 setModelProperty(PROPERTY_SSH_HOST_NAME, connectionParams.sshHostName);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
279 setModelProperty(PROPERTY_SSH_PORT_NUMBER, connectionParams.getSshPortNumber(), int.class);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
280 setModelProperty(PROPERTY_SSH_USER_NAME, connectionParams.sshUserName);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
281 populateFrom(CONNECTION_PARAMS_MODEL);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
282 rfbSettings.copyDataFrom(connectionsHistory.getProtocolSettings(connectionParams));
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
283 uiSettings.copyDataFrom(connectionsHistory.getUiSettingsData(connectionParams));
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
284 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
285
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
286 public void clearHistory() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
287 connectionsHistory.clear();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
288 connectionsHistory.reorder((ConnectionParams) getModel(CONNECTION_PARAMS_MODEL), rfbSettings, uiSettings);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
289 populateFrom(CONNECTIONS_HISTORY_MODEL);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
290 clearMessage();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
291 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
292
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
293 public void showMessage(String message) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
294 setViewProperty(PROPERTY_STATUS_BAR_MESSAGE, message);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
295 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
296
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
297 public void clearMessage() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
298 showMessage("");
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
299 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
300
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
301 public void setConnectionWorkerFactory(AbstractConnectionWorkerFactory connectionWorkerFactory) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
302 this.connectionWorkerFactory = connectionWorkerFactory;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
303 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
304
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
305 public void reconnect(String predefinedPassword) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
306 connectionWorkerFactory.setPredefinedPassword(predefinedPassword);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
307 if (allowInteractive) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
308 clearMessage();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
309 enableConnectionDialog();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
310 show();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
311 populate();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
312 } else if (needReconnection) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
313 connect();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
314 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
315 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
316
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
317 public void clearPredefinedPassword() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
318 connectionWorkerFactory.setPredefinedPassword(null);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
319 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
320
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
321 public UiSettings getUiSettings() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
322 return uiSettings;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
323 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
324
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
325 public ProtocolSettings getRfbSettings() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
326 return rfbSettings;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
327 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
328
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
329 public boolean needReconnection() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
330 return needReconnection;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
331 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
332
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
333 public void setNeedReconnection(boolean need) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
334 needReconnection = need;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
335 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
336
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
337 public boolean allowInteractive() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
338 return allowInteractive;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
339 }
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
340
60
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 57
diff changeset
341 public void setIsTreeVNC(boolean flag) {
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
342 isTreeVNC = flag;
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
343 }
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
344
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
345 public void setCuiVersion(boolean b) {
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
346 cuiVersion = b;
60
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 57
diff changeset
347 }
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 60
diff changeset
348
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
349 public SwingViewerWindow getViewer() {
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
350 if (rfbConnectionWorker != null) {
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
351 return rfbConnectionWorker.getViewer();
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
352 }
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
353 return null;
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
354 }
192
aa00e4b2fc27 fix root viewer.
oc
parents: 92
diff changeset
355
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
356 public Socket getSocket() {
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
357 return rfbConnectionWorker.getSocket();
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
358 }
368
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
359
383
7d55adebcacb impliment changeDirectConnectedWithSocket
kkb
parents: 374
diff changeset
360 public void startVNCConnection(Viewer viewer, boolean exchangeSocket) {
369
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
361 this.viewer = viewer;
368
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
362 final boolean hasJsch = viewer.checkJsch();
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
363 ConnectionView connectionView = new ConnectionView(
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
364 viewer, // appWindowListener
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
365 this, hasJsch);
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
366 addView(CONNECTION_VIEW, connectionView);
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
367 if (viewer.isApplet) {
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
368 addView("AppletStatusStringView", new View() {
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
369 @Override
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
370 public void showView() { /*nop*/ }
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
371
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
372 @Override
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
373 public void closeView() { /*nop*/ }
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
374 });
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
375 }
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
376
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
377 SwingViewerWindowFactory viewerWindowFactory = new SwingViewerWindowFactory(viewer.isSeparateFrame, viewer.isApplet, viewer, viewer.width, viewer.height);
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
378
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
379 setConnectionWorkerFactory(
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
380 new SwingConnectionWorkerFactory(connectionView.getFrame(), viewer.passwordFromParams, this, viewerWindowFactory, viewer.myRfb));
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
381 setNeedReconnection(!viewer.noConnection);
383
7d55adebcacb impliment changeDirectConnectedWithSocket
kkb
parents: 374
diff changeset
382 startConnection(viewer.settings, viewer.uiSettings, viewer.paramsMask, exchangeSocket);
368
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
383 }
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
384 }