diff src/main/java/com/glavsoft/rfb/encoding/ServerInitMessage.java @ 17:718cdde720d4

add setInitData()
author one
date Tue, 28 Aug 2012 17:36:49 +0900
parents 4689cc86d6cb
children 075fb190d5d4
line wrap: on
line diff
--- a/src/main/java/com/glavsoft/rfb/encoding/ServerInitMessage.java	Mon Aug 27 06:31:14 2012 +0900
+++ b/src/main/java/com/glavsoft/rfb/encoding/ServerInitMessage.java	Tue Aug 28 17:36:49 2012 +0900
@@ -24,6 +24,8 @@
 
 package com.glavsoft.rfb.encoding;
 
+import java.io.IOException;
+
 import com.glavsoft.exceptions.TransportException;
 import com.glavsoft.transport.Reader;
 
@@ -40,8 +42,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();
@@ -77,4 +81,18 @@
     	", 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();
+	}
 }