Mercurial > hg > Applications > TreeVNC
diff src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java @ 167:1d3fa20b86bb
update remoteDesktopName.
author | oc |
---|---|
date | Thu, 19 Jun 2014 18:51:06 +0900 |
parents | 26bc52699cf3 |
children | 2ade64eba46f |
line wrap: on
line diff
--- a/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java Thu Jun 19 17:19:59 2014 +0900 +++ b/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java Thu Jun 19 18:51:06 2014 +0900 @@ -34,15 +34,18 @@ import com.glavsoft.rfb.client.SetPixelFormatMessage; import com.glavsoft.rfb.encoding.EncodingType; import com.glavsoft.rfb.encoding.PixelFormat; +import com.glavsoft.rfb.encoding.ServerInitMessage; import com.glavsoft.rfb.encoding.decoder.Decoder; import com.glavsoft.rfb.encoding.decoder.DecodersContainer; import com.glavsoft.rfb.encoding.decoder.FramebufferUpdateRectangle; import com.glavsoft.rfb.encoding.decoder.RichCursorDecoder; import com.glavsoft.rfb.encoding.decoder.ZRLEESender; +import com.glavsoft.rfb.protocol.state.InitState; import com.glavsoft.transport.Reader; import java.io.PrintWriter; import java.io.StringWriter; +import java.io.UnsupportedEncodingException; import java.nio.ByteBuffer; import java.util.logging.Logger; @@ -219,7 +222,7 @@ clipboardController.updateSystemClipboard(reader.readBytes(length)); } - public void framebufferUpdateMessage() throws CommonException { + public void framebufferUpdateMessage() throws CommonException, UnsupportedEncodingException { reader.readByte(); // padding int numberOfRectangles = reader.readUInt16(); while (numberOfRectangles-- > 0) { @@ -247,7 +250,11 @@ int length = reader.readInt32(); byte[] initData = new byte[length]; reader.read(initData); + String name = new String(initData, 24, length - 24, "US-ASCII"); + rfb.getContext().setRemoteDesktopName(name); + rfb.getContext().setInitData(initData); + repaintController.updateRemoteDesktopName(rfb.getContext()); reader.reset(); rfb.readSendData(length + 20, reader); // size of UpdateRectangleMessage with initData. }