changeset 103:84f254d8bde4

remove isinstaceof
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 23 May 2014 02:20:05 +0900
parents 1f7ee648e1f6
children 44d2b407de65
files src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEESender.java src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java src/main/java/jp/ac/u_ryukyu/treevnc/MyRfbProto.java src/main/java/jp/ac/u_ryukyu/treevnc/client/MyRfbProtoClient.java src/main/java/jp/ac/u_ryukyu/treevnc/server/MyRfbProtoProxy.java src/viewer_swing/java/com/glavsoft/viewer/swing/SwingRfbConnectionWorker.java src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java
diffstat 7 files changed, 25 insertions(+), 21 deletions(-) [+]
line wrap: on
line diff
--- a/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEESender.java	Fri May 23 01:45:06 2014 +0900
+++ b/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEESender.java	Fri May 23 02:20:05 2014 +0900
@@ -26,7 +26,8 @@
 		reader.reset();
 		rfb.readSendData(dataLen, reader);
 
-		if (rfb instanceof MyRfbProtoClient) {
+		if (! rfb.isRoot()) {
+		    // decode data when it is a client
 			reader.readBytes(8);
 			reader.readByte();// message
 			reader.readByte();// padding
--- a/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java	Fri May 23 01:45:06 2014 +0900
+++ b/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java	Fri May 23 02:20:05 2014 +0900
@@ -84,7 +84,7 @@
 		if(!rfb.getCuiVersion())
 			renderer = repaintController.createRenderer(reader, context.getFbWidth(), context.getFbHeight(),context.getPixelFormat());
 		fullscreenFbUpdateIncrementalRequest = new FramebufferUpdateRequestMessage(0, 0, context.getFbWidth(), context.getFbHeight(), true);
-		if(!(rfb instanceof MyRfbProtoClient)) {
+		if(rfb.isRoot()) {
 			fullscreenFbUpdateIncrementalRequest.sendFullScreenRequest();
 			connectionFinished();
 		}
@@ -110,9 +110,10 @@
 		isRunning = true;
 		while (isRunning) {
 			try {
-				if(rfb instanceof MyRfbProtoClient) {
+				if(! rfb.isRoot()) {
+				    // client has 8byte packet sequence number
 					reader.mark(28);
-					getLost(reader);
+					getLost(reader); //check seq consistency
 				} else {
 					reader.mark(20);
 				}
@@ -148,9 +149,9 @@
 				}
 			} catch (TransportException e) {
 				logger.severe("Close session: " + e.getMessage());
-				if(rfb instanceof MyRfbProtoClient && !(rfb.getTerminationType())) {
+				if(!rfb.isRoot() && !(rfb.getTerminationType())) {
 					System.out.println("task stop");
-					int counter = 0;
+					int counter = 0;  // static int ?
 					EchoClient echo = rfb.getEcho();
 					echo.openport();
 					while(true) {
--- a/src/main/java/jp/ac/u_ryukyu/treevnc/MyRfbProto.java	Fri May 23 01:45:06 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/treevnc/MyRfbProto.java	Fri May 23 02:20:05 2014 +0900
@@ -22,10 +22,9 @@
 public class MyRfbProto {
 	final static int FramebufferUpdateRequest = 3;
 	final static int CheckDelay = 11;
-	final static int FramebufferUpdate = 0;
+	protected final static int FramebufferUpdate = 0;
 	private ProtocolContext context;
-	//final static String versionMsg_3_855 = "RFB 003.855\n";
-	final static String versionMsg_3_856 = "RFB 003.856\n";
+	protected final static String versionMsg_3_856 = "RFB 003.856\n";
 	private int clients;
 	public MulticastQueue<LinkedList<ByteBuffer>> multicastqueue = new MulticastQueue<LinkedList<ByteBuffer>>();
 	private RequestScreenThread rThread;
@@ -42,6 +41,9 @@
 		rThread = new RequestScreenThread(this);
 	}
 
+	public boolean isRoot() {
+	    return false;
+	}
 	
 	public void newClient(AcceptThread acceptThread, final Socket newCli,
 			final Writer os, final Reader is) throws IOException {
--- a/src/main/java/jp/ac/u_ryukyu/treevnc/client/MyRfbProtoClient.java	Fri May 23 01:45:06 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/treevnc/client/MyRfbProtoClient.java	Fri May 23 02:20:05 2014 +0900
@@ -25,10 +25,6 @@
 import com.glavsoft.transport.Reader;
 
 public class MyRfbProtoClient extends MyRfbProto {
-	final static int FramebufferUpdate = 0;
-	final static int CheckDelay = 11;
-	//final static String versionMsg_3_855 = "RFB 003.855\n";
-	final static String versionMsg_3_856 = "RFB 003.856\n";
 	private static final int INFLATE_BUFSIZE = 1024 * 100;
 	private Reader reader;
 	private String host;
@@ -54,7 +50,11 @@
 		this.reader = reader;
 	}
 
-
+    @Override
+    public boolean isRoot() {
+        return false;
+    }
+    
 	public boolean readProxyFlag() throws TransportException {
 		int flag = reader.readUInt8();
 		if (flag == 1)
--- a/src/main/java/jp/ac/u_ryukyu/treevnc/server/MyRfbProtoProxy.java	Fri May 23 01:45:06 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/treevnc/server/MyRfbProtoProxy.java	Fri May 23 02:20:05 2014 +0900
@@ -23,15 +23,10 @@
 import jp.ac.u_ryukyu.treevnc.MyRfbProto;
 
 public class MyRfbProtoProxy extends MyRfbProto {
-	//final static String versionMsg_3_855 = "RFB 003.855\n";
-	final static String versionMsg_3_856 = "RFB 003.856\n";
 	/**
 	 * CheckMillis is one of new msgType for RFB 3.855 and 3.856.
 	 */
 	final static byte SpeedCheckMillis = 4;
-	final static int FramebufferUpdate = 0;
-	final static int CheckDelay = 11;
-	final static int FramebufferUpdateRequest = 3;
 
 	// Secyrity type of OS X
 	final static int SecTypeReqAccess = 32;
@@ -69,6 +64,11 @@
 		requestThread = new Thread(rThread);
 	}
 
+	@Override
+    public boolean isRoot() {
+        return true;
+    }
+    
 	public void setStream(Writer _writer) {
 		// os = _writer;
 	}
--- a/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingRfbConnectionWorker.java	Fri May 23 01:45:06 2014 +0900
+++ b/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingRfbConnectionWorker.java	Fri May 23 02:20:05 2014 +0900
@@ -119,7 +119,7 @@
             rfbSettings.addListener(clipboardController);
             if(!myRfb.getCuiVersion())
             	viewerWindow = viewerWindowFactory.createViewerWindow(workingProtocol, rfbSettings, uiSettings, connectionString, presenter);
-            if(myRfb instanceof MyRfbProtoProxy)
+            if(myRfb.isRoot())
             	workingProtocol.startNormalHandling(this, viewerWindow.getSurface(), clipboardController, myRfb);
             else if(myRfb instanceof MyRfbProtoClient) {
 				myRfb.setProtocolContext(workingProtocol);
--- a/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java	Fri May 23 01:45:06 2014 +0900
+++ b/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java	Fri May 23 02:20:05 2014 +0900
@@ -180,7 +180,7 @@
 //			frame.pack();
             outerPanel.setSize(surface.getPreferredSize());
             internalPack(null);
-            if(viewer.getRfb() instanceof MyRfbProtoProxy || viewer.getCuiVersion()) {
+            if(viewer.getRfb().isRoot() || viewer.getCuiVersion()) {
             	frame.setVisible(false);
             	viewer.setCuiVersion(false);
             } else