annotate src/viewer_swing/java/com/glavsoft/viewer/ConnectionPresenter.java @ 52:472a9bcacb21 draft default tip

TightVNC 2.7.1.0
author you@cr.ie.u-ryukyu.ac.jp
date Wed, 07 Aug 2013 19:01:17 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
52
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
1 // Copyright (C) 2010, 2011, 2012, 2013 GlavSoft LLC.
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
2 // All rights reserved.
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
3 //
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
4 //-------------------------------------------------------------------------
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
5 // This file is part of the TightVNC software. Please visit our Web site:
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
6 //
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
7 // http://www.tightvnc.com/
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
8 //
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
9 // This program is free software; you can redistribute it and/or modify
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
10 // it under the terms of the GNU General Public License as published by
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
11 // the Free Software Foundation; either version 2 of the License, or
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
12 // (at your option) any later version.
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
13 //
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
14 // This program is distributed in the hope that it will be useful,
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
15 // but WITHOUT ANY WARRANTY; without even the implied warranty of
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
16 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
17 // GNU General Public License for more details.
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
18 //
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
19 // You should have received a copy of the GNU General Public License along
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
20 // with this program; if not, write to the Free Software Foundation, Inc.,
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
21 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
22 //-------------------------------------------------------------------------
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
23 //
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
24
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
25 package com.glavsoft.viewer;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
26
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
27 import com.glavsoft.rfb.protocol.ProtocolSettings;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
28 import com.glavsoft.utils.Strings;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
29 import com.glavsoft.viewer.mvp.Presenter;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
30 import com.glavsoft.viewer.swing.ConnectionParams;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
31 import com.glavsoft.viewer.swing.WrongParameterException;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
32 import com.glavsoft.viewer.swing.gui.ConnectionView;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
33 import com.glavsoft.viewer.swing.gui.ConnectionsHistory;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
34
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
35 import java.net.Socket;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
36 import java.util.logging.Logger;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
37
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
38 /**
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
39 * @author dime at tightvnc.com
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
40 */
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
41 public class ConnectionPresenter extends Presenter {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
42 public static final String PROPERTY_HOST_NAME = "HostName";
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
43 public static final String PROPERTY_RFB_PORT_NUMBER = "PortNumber";
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
44 public static final String PROPERTY_USE_SSH = "UseSsh";
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
45 private static final String PROPERTY_SSH_USER_NAME = "SshUserName";
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
46 private static final String PROPERTY_SSH_HOST_NAME = "SshHostName";
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
47 private static final String PROPERTY_SSH_PORT_NUMBER = "SshPortNumber";
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
48 private static final String PROPERTY_STATUS_BAR_MESSAGE = "Message";
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
49 private static final String PROPERTY_CONNECTION_IN_PROGRESS = "ConnectionInProgress";
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
50 public static final String CONNECTION_PARAMS_MODEL = "ConnectionParamsModel";
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
51 public static final String CONNECTIONS_HISTORY_MODEL = "ConnectionsHistoryModel";
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
52 public static final String CONNECTION_VIEW = "ConnectionView";
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
53
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
54 private final boolean hasSshSupport;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
55 private final boolean allowInteractive;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
56 private ConnectionsHistory connectionsHistory;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
57 private ProtocolSettings rfbSettings;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
58 private UiSettings uiSettings;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
59 private final Logger logger;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
60 private RfbConnectionWorker rfbConnectionWorker;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
61 private AbstractConnectionWorkerFactory connectionWorkerFactory;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
62 private NetworkConnectionWorker networkConnectionWorker;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
63 private boolean needReconnection = true;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
64
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
65 public ConnectionPresenter(boolean hasSshSupport, boolean allowInteractive) {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
66 this.hasSshSupport = hasSshSupport;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
67 this.allowInteractive = allowInteractive;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
68 logger = Logger.getLogger(getClass().getName());
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
69 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
70
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
71 public void startConnection(ProtocolSettings rfbSettings, UiSettings uiSettings, int paramSettingsMask)
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
72 throws IllegalStateException {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
73 this.rfbSettings = rfbSettings;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
74 this.uiSettings = uiSettings;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
75 if ( ! isModelRegisteredByName(CONNECTION_PARAMS_MODEL)) {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
76 throw new IllegalStateException("No Connection Params model added.");
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
77 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
78 connectionsHistory = new ConnectionsHistory();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
79 addModel(CONNECTIONS_HISTORY_MODEL, connectionsHistory);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
80 syncModels(paramSettingsMask);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
81 if (allowInteractive) {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
82 show();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
83 populate();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
84 } else {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
85 connect();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
86 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
87 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
88
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
89 public void setUseSsh(boolean useSsh) {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
90 setModelProperty(PROPERTY_USE_SSH, useSsh, boolean.class);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
91 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
92
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
93 public void submitConnection(String hostName) throws WrongParameterException {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
94 if (Strings.isTrimmedEmpty(hostName)) {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
95 throw new WrongParameterException("Host name is empty", PROPERTY_HOST_NAME);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
96 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
97 setModelProperty(PROPERTY_HOST_NAME, hostName);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
98
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
99 final String rfbPort = (String) getViewPropertyOrNull(PROPERTY_RFB_PORT_NUMBER);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
100 setModelProperty(PROPERTY_RFB_PORT_NUMBER, rfbPort);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
101 try {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
102 throwPossiblyHappenedException();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
103 } catch (Throwable e) {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
104 throw new WrongParameterException("Wrong Port", PROPERTY_HOST_NAME);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
105 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
106 setSshOptions();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
107
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
108 saveHistory();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
109 populateFrom(CONNECTIONS_HISTORY_MODEL);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
110
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
111 connect();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
112 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
113
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
114 public void saveHistory() {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
115 final ConnectionParams cp = (ConnectionParams) getModel(CONNECTION_PARAMS_MODEL);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
116 connectionsHistory.reorder(cp, rfbSettings, uiSettings);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
117 connectionsHistory.save();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
118 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
119
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
120 private void connect() {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
121 final ConnectionParams connectionParams = (ConnectionParams) getModel(CONNECTION_PARAMS_MODEL);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
122 // TODO check connectionWorkerFactory is init
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
123 networkConnectionWorker = connectionWorkerFactory.createNetworkConnectionWorker();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
124 networkConnectionWorker.setConnectionParams(connectionParams);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
125 networkConnectionWorker.setPresenter(this);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
126 networkConnectionWorker.setHasSshSupport(hasSshSupport);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
127 networkConnectionWorker.execute();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
128 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
129
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
130 public void connectionFailed() {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
131 cancelConnection();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
132 if (allowInteractive) {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
133 enableConnectionDialog();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
134 } else {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
135 connect();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
136 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
137 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
138
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
139 public void connectionCancelled() {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
140 cancelConnection();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
141 if (allowInteractive) {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
142 enableConnectionDialog();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
143 } else {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
144 final ConnectionView connectionView = (ConnectionView) getView(CONNECTION_VIEW);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
145 if (connectionView != null) {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
146 connectionView.closeApp();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
147 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
148 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
149 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
150
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
151 private void enableConnectionDialog() {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
152 setViewProperty(PROPERTY_CONNECTION_IN_PROGRESS, false, boolean.class);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
153 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
154
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
155 public void successfulNetworkConnection(Socket workingSocket) { // EDT
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
156 logger.info("Connected");
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
157 showMessage("Connected");
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
158 rfbConnectionWorker = connectionWorkerFactory.createRfbConnectionWorker();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
159 rfbConnectionWorker.setWorkingSocket(workingSocket);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
160 rfbConnectionWorker.setRfbSettings(rfbSettings);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
161 rfbConnectionWorker.setUiSettings(uiSettings);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
162 rfbConnectionWorker.setConnectionString(
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
163 getModelProperty(PROPERTY_HOST_NAME) + ":" + getModelProperty(PROPERTY_RFB_PORT_NUMBER));
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
164 rfbConnectionWorker.execute();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
165 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
166
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
167 public void successfulRfbConnection() {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
168 enableConnectionDialog();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
169 getView(CONNECTION_VIEW).closeView();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
170 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
171
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
172 public void cancelConnection() {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
173 if (networkConnectionWorker != null) {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
174 networkConnectionWorker.cancel();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
175 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
176 if (rfbConnectionWorker != null) {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
177 rfbConnectionWorker.cancel();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
178 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
179 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
180
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
181 public void showConnectionErrorDialog(String message) {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
182 final ConnectionView connectionView = (ConnectionView) getView(CONNECTION_VIEW);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
183 if (connectionView != null) {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
184 connectionView.showConnectionErrorDialog(message);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
185 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
186 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
187
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
188 public void showReconnectDialog(String errorTitle, String errorMessage) {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
189 final ConnectionView connectionView = (ConnectionView) getView(CONNECTION_VIEW);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
190 if (connectionView != null) {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
191 connectionView.showReconnectDialog(errorTitle, errorMessage);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
192 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
193 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
194
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
195 private void setSshOptions() {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
196 if (hasSshSupport) {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
197 try {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
198 final boolean useSsh = (Boolean)getViewProperty(PROPERTY_USE_SSH);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
199 setModelProperty(PROPERTY_USE_SSH, useSsh, boolean.class);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
200 } catch (PropertyNotFoundException e) {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
201 //nop
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
202 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
203 setModelProperty(PROPERTY_SSH_USER_NAME, getViewPropertyOrNull(PROPERTY_SSH_USER_NAME));
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
204 setModelProperty(PROPERTY_SSH_HOST_NAME, getViewPropertyOrNull(PROPERTY_SSH_HOST_NAME));
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
205 setModelProperty(PROPERTY_SSH_PORT_NUMBER, getViewPropertyOrNull(PROPERTY_SSH_PORT_NUMBER));
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
206 setViewProperty(PROPERTY_SSH_PORT_NUMBER, getModelProperty(PROPERTY_SSH_PORT_NUMBER));
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
207 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
208 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
209
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
210 private void syncModels(int paramSettingsMask) {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
211 final ConnectionParams cp = (ConnectionParams) getModel(CONNECTION_PARAMS_MODEL);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
212 final ConnectionParams mostSuitableConnection = connectionsHistory.getMostSuitableConnection(cp);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
213 cp.completeEmptyFieldsFrom(mostSuitableConnection);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
214 rfbSettings.copyDataFrom(connectionsHistory.getProtocolSettings(mostSuitableConnection), paramSettingsMask & 0xffff);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
215 uiSettings.copyDataFrom(connectionsHistory.getUiSettingsData(mostSuitableConnection), (paramSettingsMask >> 16) & 0xffff);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
216 if ( ! cp.isHostNameEmpty()) {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
217 connectionsHistory.reorder(cp, rfbSettings, uiSettings);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
218 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
219
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
220 // protocolSettings.addListener(connectionsHistory);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
221 // uiSettings.addListener(connectionsHistory);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
222 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
223
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
224 public void populateFromHistoryItem(ConnectionParams connectionParams) {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
225 setModelProperty(PROPERTY_HOST_NAME, connectionParams.hostName);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
226 setModelProperty(PROPERTY_RFB_PORT_NUMBER, connectionParams.getPortNumber(), int.class);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
227 setModelProperty(PROPERTY_USE_SSH, connectionParams.useSsh(), boolean.class);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
228 setModelProperty(PROPERTY_SSH_HOST_NAME, connectionParams.sshHostName);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
229 setModelProperty(PROPERTY_SSH_PORT_NUMBER, connectionParams.getSshPortNumber(), int.class);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
230 setModelProperty(PROPERTY_SSH_USER_NAME, connectionParams.sshUserName);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
231 populateFrom(CONNECTION_PARAMS_MODEL);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
232 rfbSettings.copyDataFrom(connectionsHistory.getProtocolSettings(connectionParams));
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
233 uiSettings.copyDataFrom(connectionsHistory.getUiSettingsData(connectionParams));
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
234 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
235
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
236 public void clearHistory() {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
237 connectionsHistory.clear();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
238 connectionsHistory.reorder((ConnectionParams) getModel(CONNECTION_PARAMS_MODEL), rfbSettings, uiSettings);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
239 populateFrom(CONNECTIONS_HISTORY_MODEL);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
240 clearMessage();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
241 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
242
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
243 public void showMessage(String message) {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
244 setViewProperty(PROPERTY_STATUS_BAR_MESSAGE, message);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
245 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
246
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
247 public void clearMessage() {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
248 showMessage("");
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
249 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
250
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
251 public void setConnectionWorkerFactory(AbstractConnectionWorkerFactory connectionWorkerFactory) {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
252 this.connectionWorkerFactory = connectionWorkerFactory;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
253 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
254
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
255 public void reconnect(String predefinedPassword) {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
256 connectionWorkerFactory.setPredefinedPassword(predefinedPassword);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
257 if (allowInteractive) {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
258 clearMessage();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
259 enableConnectionDialog();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
260 show();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
261 populate();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
262 } else if (needReconnection) {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
263 connect();
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
264 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
265 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
266
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
267 public void clearPredefinedPassword() {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
268 connectionWorkerFactory.setPredefinedPassword(null);
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
269 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
270
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
271 public UiSettings getUiSettings() {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
272 return uiSettings;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
273 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
274
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
275 public ProtocolSettings getRfbSettings() {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
276 return rfbSettings;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
277 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
278
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
279 public boolean needReconnection() {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
280 return needReconnection;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
281 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
282
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
283 public void setNeedReconnection(boolean need) {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
284 needReconnection = need;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
285 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
286
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
287 public boolean allowInteractive() {
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
288 return allowInteractive;
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
289 }
472a9bcacb21 TightVNC 2.7.1.0
you@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
290 }