diff src/viewer_swing/java/com/glavsoft/viewer/swing/SwingRfbConnectionWorker.java @ 60:ac6f9e46566f

proxy mode ok.
author Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
date Sat, 21 Dec 2013 18:46:54 +0900
parents 17b702648079
children d9cf08c6415c
line wrap: on
line diff
--- a/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingRfbConnectionWorker.java	Tue Dec 17 20:16:48 2013 +0900
+++ b/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingRfbConnectionWorker.java	Sat Dec 21 18:46:54 2013 +0900
@@ -44,6 +44,9 @@
 import java.util.concurrent.ExecutionException;
 import java.util.logging.Logger;
 
+import jp.ac.u_ryukyu.treevnc.MyRfbProto;
+import jp.ac.u_ryukyu.treevnc.server.MyRfbProtoProxy;
+
 /**
 * @author dime at tightvnc.com
 */
@@ -61,6 +64,7 @@
     protected Socket workingSocket;
     protected ProtocolSettings rfbSettings;
     protected UiSettings uiSettings;
+    private MyRfbProto myRfb;
 
     @Override
     public Void doInBackground() throws Exception {
@@ -77,16 +81,18 @@
         publish(message);
 
         workingProtocol.handshake();
+        myRfb.setProtocolContext(workingProtocol);
 //      tryAgain = false;
         return null;
     }
 
     public SwingRfbConnectionWorker(String predefinedPassword, ConnectionPresenter presenter, JFrame parentWindow,
-                                    SwingViewerWindowFactory viewerWindowFactory) {
+                                    SwingViewerWindowFactory viewerWindowFactory, MyRfbProto myRfb) {
         this.predefinedPassword = predefinedPassword;
         this.presenter = presenter;
         this.parentWindow = parentWindow;
         this.viewerWindowFactory = viewerWindowFactory;
+        this.myRfb = myRfb;
         logger = Logger.getLogger(getClass().getName());
     }
 
@@ -108,8 +114,10 @@
             rfbSettings.addListener(clipboardController);
             viewerWindow = viewerWindowFactory.createViewerWindow(
                     workingProtocol, rfbSettings, uiSettings, connectionString, presenter);
-
-            workingProtocol.startNormalHandling(this, viewerWindow.getSurface(), clipboardController);
+            if(myRfb instanceof MyRfbProtoProxy)
+            	workingProtocol.startNormalHandling(this, viewerWindow.getSurface(), clipboardController, myRfb);
+            else
+            	workingProtocol.startNormalHandling(this, viewerWindow.getSurface(), clipboardController);
             presenter.showMessage("Started");
 
             presenter.successfulRfbConnection();