annotate src/viewer_swing/java/com/glavsoft/viewer/CuiViewer.java @ 514:887ebd993b3d

separate rfb broadcast
author mir3636
date Thu, 21 Feb 2019 16:52:21 +0900
parents 16f9b37ef43b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 package com.glavsoft.viewer;
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 import com.glavsoft.rfb.protocol.ProtocolSettings;
383
7d55adebcacb impliment changeDirectConnectedWithSocket
kkb
parents: 379
diff changeset
4 import com.glavsoft.transport.Reader;
7d55adebcacb impliment changeDirectConnectedWithSocket
kkb
parents: 379
diff changeset
5 import com.glavsoft.transport.Writer;
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 import com.glavsoft.viewer.cli.Parser;
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 import com.glavsoft.viewer.swing.ConnectionParams;
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 import com.glavsoft.viewer.swing.ParametersHandler;
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 import com.glavsoft.viewer.swing.SwingConnectionWorkerFactory;
514
887ebd993b3d separate rfb broadcast
mir3636
parents: 512
diff changeset
10 import jp.ac.u_ryukyu.treevnc.BroadcastRFBListener;
448
344a35b7c47f send both frame buffer size and selected screen size in Disktop size change (INIT_DATA)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 428
diff changeset
11 import jp.ac.u_ryukyu.treevnc.CreateConnectionParam;
344a35b7c47f send both frame buffer size and selected screen size in Disktop size change (INIT_DATA)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 428
diff changeset
12 import jp.ac.u_ryukyu.treevnc.TreeRFBProto;
130
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
13
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 import javax.swing.*;
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 import java.awt.*;
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 import java.awt.event.WindowEvent;
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 import java.awt.event.WindowListener;
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 import java.io.IOException;
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 import java.io.InputStream;
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 import java.net.Socket;
448
344a35b7c47f send both frame buffer size and selected screen size in Disktop size change (INIT_DATA)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 428
diff changeset
21 import java.util.ArrayList;
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 import java.util.jar.Attributes;
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 import java.util.jar.Manifest;
448
344a35b7c47f send both frame buffer size and selected screen size in Disktop size change (INIT_DATA)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 428
diff changeset
24 import java.util.logging.ConsoleHandler;
344a35b7c47f send both frame buffer size and selected screen size in Disktop size change (INIT_DATA)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 428
diff changeset
25 import java.util.logging.Handler;
344a35b7c47f send both frame buffer size and selected screen size in Disktop size change (INIT_DATA)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 428
diff changeset
26 import java.util.logging.Level;
344a35b7c47f send both frame buffer size and selected screen size in Disktop size change (INIT_DATA)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 428
diff changeset
27 import java.util.logging.Logger;
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28
153
e68dfd1972ac fix bad names.
oc
parents: 148
diff changeset
29 public class CuiViewer implements Runnable, WindowListener, ViewerInterface {
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
31 private Logger logger;
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
32 private int paramsMask;
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
33 private boolean allowAppletInteractiveConnections;
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
35 public final ConnectionParams connectionParams;
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
36 protected String passwordFromParams;
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
37 boolean isSeparateFrame = true;
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
38 protected boolean isApplet = true;
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
39 private final ProtocolSettings settings;
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
40 protected UiSettings uiSettings;
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
41 private ConnectionPresenter connectionPresenter;
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
42 protected TreeRFBProto myRfb;
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
43 private boolean cuiVersion;
204
d9d234715853 TreeManager for each interface
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 202
diff changeset
44 private boolean showTree = false;
225
5e3594021e79 fix --width --height mode.
oc
parents: 207
diff changeset
45 public int width;
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
46 public int height;
512
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 458
diff changeset
47 private boolean useMulticast;
514
887ebd993b3d separate rfb broadcast
mir3636
parents: 512
diff changeset
48 static public BroadcastRFBListener broadcastRFBListener = new BroadcastRFBListener();
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
50 public static void main(String[] args) {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
51 Parser parser = new Parser();
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
52 ParametersHandler.completeParserOptions(parser);
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
53
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
54 parser.parse(args);
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
55 if (parser.isSet(ParametersHandler.ARG_HELP)) {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
56 printUsage(parser.optionsUsage());
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
57 System.exit(0);
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
58 }
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
59 CuiViewer viewer = new CuiViewer(parser);
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
60 SwingUtilities.invokeLater(viewer);
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
61 }
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
62
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
63 public static void printUsage(String additional) {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
64 System.out
300
0b75fdbb8c11 delete unused method
oc
parents: 267
diff changeset
65 .println("Usage: java -jar (progfilename) [hostname [port_number]] [Options]?n"
0b75fdbb8c11 delete unused method
oc
parents: 267
diff changeset
66 + " or?n"
0b75fdbb8c11 delete unused method
oc
parents: 267
diff changeset
67 + " java -jar (progfilename) [Options]?n"
0b75fdbb8c11 delete unused method
oc
parents: 267
diff changeset
68 + " or?n java -jar (progfilename) -help?n to view this help?n?n"
0b75fdbb8c11 delete unused method
oc
parents: 267
diff changeset
69 + "Where Options are:?n"
0b75fdbb8c11 delete unused method
oc
parents: 267
diff changeset
70 + additional
0b75fdbb8c11 delete unused method
oc
parents: 267
diff changeset
71 + "?nOptions format: -optionName=optionValue. Ex. -host=localhost -port=5900 -viewonly=yes?n"
0b75fdbb8c11 delete unused method
oc
parents: 267
diff changeset
72 + "Both option name and option value are case insensitive.");
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
73 }
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
74
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
75 public CuiViewer() {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
76 logger = Logger.getLogger(getClass().getName());
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
77 connectionParams = new ConnectionParams();
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
78 settings = ProtocolSettings.getDefaultSettings();
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
79 uiSettings = new UiSettings();
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
80 }
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
81
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
82 private CuiViewer(Parser parser) {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
83 this();
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
84 setLoggingLevel(parser.isSet(ParametersHandler.ARG_VERBOSE) ? Level.FINE
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
85 : parser.isSet(ParametersHandler.ARG_VERBOSE_MORE) ? Level.FINER
300
0b75fdbb8c11 delete unused method
oc
parents: 267
diff changeset
86 : Level.INFO);
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
87
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
88 paramsMask = ParametersHandler.completeSettingsFromCLI(parser,
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
89 connectionParams, settings, uiSettings);
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
90 passwordFromParams = parser.getValueFor(ParametersHandler.ARG_PASSWORD);
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
91 logger.info("TightVNC Viewer version " + ver());
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
92 isApplet = false;
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
93 }
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
94
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
95 private void setLoggingLevel(Level levelToSet) {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
96 final Logger appLogger = Logger.getLogger("com.glavsoft");
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
97 appLogger.setLevel(levelToSet);
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
98 ConsoleHandler ch = null;
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
99 for (Handler h : appLogger.getHandlers()) {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
100 if (h instanceof ConsoleHandler) {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
101 ch = (ConsoleHandler) h;
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
102 break;
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
103 }
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
104 }
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
105 if (null == ch) {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
106 ch = new ConsoleHandler();
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
107 appLogger.addHandler(ch);
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
108 }
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
109 // ch.setFormatter(new SimpleFormatter());
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
110 ch.setLevel(levelToSet);
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
111 }
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
112
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
113 @Override
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
114 public void windowClosing(WindowEvent e) {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
115 if (e != null && e.getComponent() != null) {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
116 final Window w = e.getWindow();
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
117 if (w != null) {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
118 w.setVisible(false);
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
119 w.dispose();
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
120 }
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
121 }
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
122 closeApp();
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
123 }
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
124
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
125 /**
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
126 * Closes App(lication) or stops App(let).
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
127 */
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
128 public void closeApp() {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
129 /* nop */
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
130 }
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
131
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
132 private boolean checkJsch() {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
133 try {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
134 Class.forName("com.jcraft.jsch.JSch");
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
135 return true;
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
136 } catch (ClassNotFoundException e) {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
137 return false;
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
138 }
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
139 }
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
140
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
141 @Override
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
142 public void run() {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
143 final boolean hasJsch = checkJsch();
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
144 final boolean allowInteractive = allowAppletInteractiveConnections
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
145 || !isApplet;
363
bc5624e3e9c5 Add newVNCConnection method to Viewer
innparusu
parents: 328
diff changeset
146 ConnectionPresenter connectionPresenter = new ConnectionPresenter(hasJsch, allowInteractive);
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
147 connectionPresenter.addModel("ConnectionParamsModel", connectionParams);
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
148 connectionPresenter.setConnectionWorkerFactory(
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
149 new SwingConnectionWorkerFactory(null, passwordFromParams, connectionPresenter, null, myRfb));
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
150 connectionPresenter.setCuiVersion(true);
512
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 458
diff changeset
151 connectionPresenter.setMulticast(useMulticast);
395
704ac9e79e25 Call startVNCConnectionWithSocket for directedServerChangeReqeust
innparusu
parents: 383
diff changeset
152 connectionPresenter.startConnection(settings, uiSettings, paramsMask, false, null, null);
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
153 }
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
154
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
155 @Override
370
2c61e6d434ff Fix VncConnectionWorkers
innparusu
parents: 369
diff changeset
156 public ConnectionPresenter getConnectionPresenter() {
2c61e6d434ff Fix VncConnectionWorkers
innparusu
parents: 369
diff changeset
157 return connectionPresenter;
363
bc5624e3e9c5 Add newVNCConnection method to Viewer
innparusu
parents: 328
diff changeset
158 }
bc5624e3e9c5 Add newVNCConnection method to Viewer
innparusu
parents: 328
diff changeset
159
bc5624e3e9c5 Add newVNCConnection method to Viewer
innparusu
parents: 328
diff changeset
160 @Override
370
2c61e6d434ff Fix VncConnectionWorkers
innparusu
parents: 369
diff changeset
161 public void setConnectionPresenter(ConnectionPresenter connectionPresenter) {
2c61e6d434ff Fix VncConnectionWorkers
innparusu
parents: 369
diff changeset
162 this.connectionPresenter = connectionPresenter;
369
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 363
diff changeset
163 }
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 363
diff changeset
164
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 363
diff changeset
165 @Override
428
f6a828dd37b0 Change timing for setting share screen info
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 427
diff changeset
166 public void changeToDirectConnectedServer(String hostName, Reader is, Writer os, int x, int y, int width, int height, int scale) {
383
7d55adebcacb impliment changeDirectConnectedWithSocket
kkb
parents: 379
diff changeset
167
7d55adebcacb impliment changeDirectConnectedWithSocket
kkb
parents: 379
diff changeset
168 }
7d55adebcacb impliment changeDirectConnectedWithSocket
kkb
parents: 379
diff changeset
169
7d55adebcacb impliment changeDirectConnectedWithSocket
kkb
parents: 379
diff changeset
170 @Override
512
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 458
diff changeset
171 public void setUseMulticast(boolean useMulticast) {
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 458
diff changeset
172 this.useMulticast = useMulticast;
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 458
diff changeset
173 }
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 458
diff changeset
174
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 458
diff changeset
175 @Override
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 458
diff changeset
176 public boolean getUseMulticast() {
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 458
diff changeset
177 return useMulticast;
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 458
diff changeset
178 }
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 458
diff changeset
179
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 458
diff changeset
180 @Override
514
887ebd993b3d separate rfb broadcast
mir3636
parents: 512
diff changeset
181 public BroadcastRFBListener getRfbBroadcastListener() {
887ebd993b3d separate rfb broadcast
mir3636
parents: 512
diff changeset
182 return broadcastRFBListener;
887ebd993b3d separate rfb broadcast
mir3636
parents: 512
diff changeset
183 }
887ebd993b3d separate rfb broadcast
mir3636
parents: 512
diff changeset
184
887ebd993b3d separate rfb broadcast
mir3636
parents: 512
diff changeset
185 @Override
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
186 public void windowOpened(WindowEvent e) { /* nop */
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
187 }
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
188
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
189 @Override
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
190 public void windowClosed(WindowEvent e) { /* nop */
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
191 }
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
192
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
193 @Override
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
194 public void windowIconified(WindowEvent e) { /* nop */
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
195 }
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
196
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
197 @Override
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
198 public void windowDeiconified(WindowEvent e) { /* nop */
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
199 }
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
200
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
201 @Override
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
202 public void windowActivated(WindowEvent e) { /* nop */
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
203 }
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
204
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
205 @Override
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
206 public void windowDeactivated(WindowEvent e) { /* nop */
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
207 }
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
208
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
209 public static String ver() {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
210 final InputStream mfStream = Viewer.class.getClassLoader()
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
211 .getResourceAsStream("META-INF/MANIFEST.MF");
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
212 if (null == mfStream) {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
213 System.out.println("No Manifest file found.");
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
214 return "-1";
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
215 }
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
216 try {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
217 Manifest mf = new Manifest();
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
218 mf.read(mfStream);
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
219 Attributes atts = mf.getMainAttributes();
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
220 return atts.getValue(Attributes.Name.IMPLEMENTATION_VERSION);
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
221 } catch (IOException e) {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
222 return "-2";
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
223 }
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
224 }
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
225
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
226 public void setSocket(Socket soc) {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
227 connectionParams.setConnectionParam(soc.getInetAddress().getHostAddress(), soc.getPort());
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
228 }
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
229
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
230 public void setOpenPort(int parseInt) {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
231 }
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
232
328
1a2ab6bd5ba3 add function lost child node, remove deadChild nodeList.
oc
parents: 327
diff changeset
233 public void setTerminationType(boolean b) {
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
234 myRfb.setTerminationType(b);
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
235 }
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
236
379
ea324e42bc78 Add arguments to startTreeViewer method
innparusu
parents: 377
diff changeset
237 public void startTreeViewer(String hostName, boolean cui, boolean addSerialNum) {
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
238 CuiViewer viewer = new CuiViewer();
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
239 viewer.cuiVersion = cui;
327
293c35aa902b add error message, add assure stream close, delete firstTime value in TreeRFBProto.
oc
parents: 317
diff changeset
240 TreeRFBProto rfb = new TreeRFBProto(false, this);
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
241 CreateConnectionParam cp = new CreateConnectionParam(rfb);
300
0b75fdbb8c11 delete unused method
oc
parents: 267
diff changeset
242 if (hostName==null) {
327
293c35aa902b add error message, add assure stream close, delete firstTime value in TreeRFBProto.
oc
parents: 317
diff changeset
243 cp.findTreeVncRoot();
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
244 } else {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
245 cp.setHostName(hostName);
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
246 }
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
247 rfb.createConnectionAndStart(this);
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
248 cp.sendWhereToConnect(viewer);
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
249 rfb.setCuiVersion(cui);
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
250 viewer.myRfb = rfb;
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
251 SwingUtilities.invokeLater(viewer);
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
252 }
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
253
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
254 public void setIsTreeVNC(boolean flag) {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
255 }
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
256
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
257 public TreeRFBProto getRfb() {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
258 return myRfb;
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
259 }
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
260
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
261 public boolean getCuiVersion() {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
262 return cuiVersion;
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
263 }
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
264
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
265 public void setCuiVersion(boolean flag) {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
266 // nop
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
267 }
130
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
268
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
269 @Override
174
2e1530139169 reorganization
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 153
diff changeset
270 public void connectToParenet(int port, String hostname) throws IOException {
328
1a2ab6bd5ba3 add function lost child node, remove deadChild nodeList.
oc
parents: 327
diff changeset
271 setTerminationType(false);
174
2e1530139169 reorganization
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 153
diff changeset
272 closeApp();
179
c1b91dd27a13 on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 177
diff changeset
273 connectionParams.setConnectionParam(hostname, port);
174
2e1530139169 reorganization
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 153
diff changeset
274 run();
2e1530139169 reorganization
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 153
diff changeset
275 }
2e1530139169 reorganization
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 153
diff changeset
276
2e1530139169 reorganization
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 153
diff changeset
277 @Override
428
f6a828dd37b0 Change timing for setting share screen info
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 427
diff changeset
278 public void inhelitClients(String hostName, short newVNCServerId, int x, int y, int width, int height, int scale) {
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
279
174
2e1530139169 reorganization
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 153
diff changeset
280 }
2e1530139169 reorganization
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 153
diff changeset
281
2e1530139169 reorganization
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 153
diff changeset
282 @Override
455
6f3d3da40940 fix cui and hasViewer flag
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 448
diff changeset
283 public void proxyStart(String[] args, String hostName, int width, int height, boolean showTree, boolean checkDelay, boolean addSerialNum, boolean fixingSize, boolean filterSingleDisplay, boolean hasViewer) {
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
284
174
2e1530139169 reorganization
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 153
diff changeset
285 }
2e1530139169 reorganization
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 153
diff changeset
286
176
fa6cfb85444e on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
287 @Override
fa6cfb85444e on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
288 public void setNoConnection(boolean noConnection) {
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
289
176
fa6cfb85444e on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
290 }
fa6cfb85444e on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
291
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
292 @Override
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
293 public void setVisible(boolean b) {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
294 }
192
aa00e4b2fc27 fix root viewer.
oc
parents: 188
diff changeset
295
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
296 @Override
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
297 public Socket getVNCSocket() {
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
298 return connectionPresenter.getSocket();
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
299 }
202
22676ca0dd97 get VNC Socket.
oc
parents: 192
diff changeset
300
204
d9d234715853 TreeManager for each interface
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 202
diff changeset
301 @Override
d9d234715853 TreeManager for each interface
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 202
diff changeset
302 public boolean getShowTree() {
d9d234715853 TreeManager for each interface
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 202
diff changeset
303 return showTree;
d9d234715853 TreeManager for each interface
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 202
diff changeset
304 }
d9d234715853 TreeManager for each interface
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 202
diff changeset
305
225
5e3594021e79 fix --width --height mode.
oc
parents: 207
diff changeset
306 @Override
5e3594021e79 fix --width --height mode.
oc
parents: 207
diff changeset
307 public void setWidth(int w) {
240
7310e7d7a45f add option --checkDelay.
oc
parents: 225
diff changeset
308 width = w;
225
5e3594021e79 fix --width --height mode.
oc
parents: 207
diff changeset
309 }
5e3594021e79 fix --width --height mode.
oc
parents: 207
diff changeset
310
5e3594021e79 fix --width --height mode.
oc
parents: 207
diff changeset
311 @Override
5e3594021e79 fix --width --height mode.
oc
parents: 207
diff changeset
312 public void setHeight(int h) {
300
0b75fdbb8c11 delete unused method
oc
parents: 267
diff changeset
313 height = h;
257
11b59b223222 add function of fixing display size
oc
parents: 256
diff changeset
314 }
11b59b223222 add function of fixing display size
oc
parents: 256
diff changeset
315
11b59b223222 add function of fixing display size
oc
parents: 256
diff changeset
316 @Override
11b59b223222 add function of fixing display size
oc
parents: 256
diff changeset
317 public void setFixingSize(int width, int height) {
11b59b223222 add function of fixing display size
oc
parents: 256
diff changeset
318 }
301
ae7deb002b5f send and receive single display size
oc
parents: 300
diff changeset
319
ae7deb002b5f send and receive single display size
oc
parents: 300
diff changeset
320 @Override
458
4ea47640942a intoroduce retina scaled frame buffer postion
innparusu
parents: 456
diff changeset
321 public java.util.ArrayList<FbRectangle> getScreenRectangles() {
301
ae7deb002b5f send and receive single display size
oc
parents: 300
diff changeset
322 return null;
ae7deb002b5f send and receive single display size
oc
parents: 300
diff changeset
323 }
317
3c63bc88383e always fit screen, -d mode.
oc
parents: 301
diff changeset
324
3c63bc88383e always fit screen, -d mode.
oc
parents: 301
diff changeset
325 @Override
448
344a35b7c47f send both frame buffer size and selected screen size in Disktop size change (INIT_DATA)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 428
diff changeset
326 public Point getScreenOffset(ArrayList<Rectangle> rectangles) {
344a35b7c47f send both frame buffer size and selected screen size in Disktop size change (INIT_DATA)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 428
diff changeset
327 return null;
344a35b7c47f send both frame buffer size and selected screen size in Disktop size change (INIT_DATA)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 428
diff changeset
328 }
344a35b7c47f send both frame buffer size and selected screen size in Disktop size change (INIT_DATA)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 428
diff changeset
329
344a35b7c47f send both frame buffer size and selected screen size in Disktop size change (INIT_DATA)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 428
diff changeset
330 @Override
456
34277b436cac Using retina scale to share screnn if minus postion
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 455
diff changeset
331 public int retinaScale(int shareScreenNumber) {
34277b436cac Using retina scale to share screnn if minus postion
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 455
diff changeset
332 return 1;
34277b436cac Using retina scale to share screnn if minus postion
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 455
diff changeset
333 }
34277b436cac Using retina scale to share screnn if minus postion
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 455
diff changeset
334
34277b436cac Using retina scale to share screnn if minus postion
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 455
diff changeset
335 @Override
317
3c63bc88383e always fit screen, -d mode.
oc
parents: 301
diff changeset
336 public void setFitScreen() {
3c63bc88383e always fit screen, -d mode.
oc
parents: 301
diff changeset
337 }
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
338 }