diff src/main/java/com/glavsoft/rfb/encoding/ServerInitMessage.java @ 59:433c79184c05

merge version2.7.2
author Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
date Tue, 17 Dec 2013 20:16:48 +0900
parents 17b702648079 18fad65bc447
children 2aa4fcbc5ba2
line wrap: on
line diff
--- a/src/main/java/com/glavsoft/rfb/encoding/ServerInitMessage.java	Mon Dec 16 17:06:19 2013 +0900
+++ b/src/main/java/com/glavsoft/rfb/encoding/ServerInitMessage.java	Tue Dec 17 20:16:48 2013 +0900
@@ -40,8 +40,10 @@
     protected int frameBufferHeight;
     protected PixelFormat pixelFormat;
     protected String name;
+    protected byte[] initData;
 
 	public ServerInitMessage(Reader reader) throws TransportException {
+		readServerInit(reader);
 		frameBufferWidth = reader.readUInt16();
 		frameBufferHeight = reader.readUInt16();
 		pixelFormat = new PixelFormat();
@@ -64,6 +66,10 @@
 	public PixelFormat getPixelFormat() {
 		return pixelFormat;
 	}
+	
+	public byte[] getInitData() {
+		return initData;
+	}
 
 	public String getName() {
 		return name;
@@ -77,4 +83,17 @@
     	", server-pixel-format: " + pixelFormat +
     	"]";
     }
+    
+	public void readServerInit(Reader reader) throws TransportException {
+		reader.mark(255);
+		reader.skypBytes(20);
+		int nlen = reader.readInt32();
+		int blen = 20 + 4 + nlen;
+		initData = new byte[blen];
+		reader.reset();
+
+		reader.mark(blen);
+		reader.readBytes(initData);
+		reader.reset();
+	}
 }