# HG changeset patch # User Shinji KONO # Date 1400779205 -32400 # Node ID 84f254d8bde42462b1f8d1e9351b3228e8424b7a # Parent 1f7ee648e1f6fd2999baeaa091a973c90ceb6980 remove isinstaceof diff -r 1f7ee648e1f6 -r 84f254d8bde4 src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEESender.java --- 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 diff -r 1f7ee648e1f6 -r 84f254d8bde4 src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java --- 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) { diff -r 1f7ee648e1f6 -r 84f254d8bde4 src/main/java/jp/ac/u_ryukyu/treevnc/MyRfbProto.java --- 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> multicastqueue = new MulticastQueue>(); 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 { diff -r 1f7ee648e1f6 -r 84f254d8bde4 src/main/java/jp/ac/u_ryukyu/treevnc/client/MyRfbProtoClient.java --- 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) diff -r 1f7ee648e1f6 -r 84f254d8bde4 src/main/java/jp/ac/u_ryukyu/treevnc/server/MyRfbProtoProxy.java --- 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; } diff -r 1f7ee648e1f6 -r 84f254d8bde4 src/viewer_swing/java/com/glavsoft/viewer/swing/SwingRfbConnectionWorker.java --- 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); diff -r 1f7ee648e1f6 -r 84f254d8bde4 src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java --- 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