Mercurial > hg > Applications > TightVNC_orginal
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 } |