comparison 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
comparison
equal deleted inserted replaced
16:e654b2e4de64 17:718cdde720d4
22 //------------------------------------------------------------------------- 22 //-------------------------------------------------------------------------
23 // 23 //
24 24
25 package com.glavsoft.rfb.encoding; 25 package com.glavsoft.rfb.encoding;
26 26
27 import java.io.IOException;
28
27 import com.glavsoft.exceptions.TransportException; 29 import com.glavsoft.exceptions.TransportException;
28 import com.glavsoft.transport.Reader; 30 import com.glavsoft.transport.Reader;
29 31
30 /** 32 /**
31 * Struct filled from the ServerInit message 33 * Struct filled from the ServerInit message
38 public class ServerInitMessage { 40 public class ServerInitMessage {
39 protected int frameBufferWidth; 41 protected int frameBufferWidth;
40 protected int frameBufferHeight; 42 protected int frameBufferHeight;
41 protected PixelFormat pixelFormat; 43 protected PixelFormat pixelFormat;
42 protected String name; 44 protected String name;
45 protected byte[] initData;
43 46
44 public ServerInitMessage(Reader reader) throws TransportException { 47 public ServerInitMessage(Reader reader) throws TransportException {
48 readServerInit(reader);
45 frameBufferWidth = reader.readUInt16(); 49 frameBufferWidth = reader.readUInt16();
46 frameBufferHeight = reader.readUInt16(); 50 frameBufferHeight = reader.readUInt16();
47 pixelFormat = new PixelFormat(); 51 pixelFormat = new PixelFormat();
48 pixelFormat.fill(reader); 52 pixelFormat.fill(reader);
49 name = reader.readString(); 53 name = reader.readString();
75 ", framebuffer-width: " + String.valueOf(frameBufferWidth) + 79 ", framebuffer-width: " + String.valueOf(frameBufferWidth) +
76 ", framebuffer-height: " + String.valueOf(frameBufferHeight) + 80 ", framebuffer-height: " + String.valueOf(frameBufferHeight) +
77 ", server-pixel-format: " + pixelFormat + 81 ", server-pixel-format: " + pixelFormat +
78 "]"; 82 "]";
79 } 83 }
84
85 public void readServerInit(Reader reader) throws TransportException {
86
87 reader.mark(255);
88 reader.skypBytes(20);
89 int nlen = reader.readInt32();
90 int blen = 20 + 4 + nlen;
91 initData = new byte[blen];
92 reader.reset();
93
94 reader.mark(blen);
95 reader.readBytes(initData);
96 reader.reset();
97 }
80 } 98 }