Mercurial > hg > Applications > AliceVNC
comparison src/main/java/jp/ac/u_ryukyu/alicevnc/ReceiveServerInitMessage.java @ 3:9d932f70b29a
create MyServerInitMessage. ServerInitMessage could not send with MessagePack for including PixelFormat class
author | YU |
---|---|
date | Sat, 13 Sep 2014 19:48:08 +0900 |
parents | e046eb8a3ac1 |
children | 7c7a9b23c291 |
comparison
equal
deleted
inserted
replaced
2:e046eb8a3ac1 | 3:9d932f70b29a |
---|---|
1 package jp.ac.u_ryukyu.alicevnc; | 1 package jp.ac.u_ryukyu.alicevnc; |
2 | 2 |
3 import com.glavsoft.drawing.Renderer; | 3 import com.glavsoft.drawing.Renderer; |
4 import com.glavsoft.rfb.IRepaintController; | 4 import com.glavsoft.rfb.IRepaintController; |
5 import com.glavsoft.rfb.encoding.PixelFormat; | |
5 import com.glavsoft.rfb.encoding.ServerInitMessage; | 6 import com.glavsoft.rfb.encoding.ServerInitMessage; |
6 import com.glavsoft.rfb.protocol.Protocol; | 7 import com.glavsoft.rfb.protocol.Protocol; |
7 import com.glavsoft.rfb.protocol.ProtocolSettings; | 8 import com.glavsoft.rfb.protocol.ProtocolSettings; |
8 import com.glavsoft.viewer.Viewer; | 9 import com.glavsoft.viewer.Viewer; |
9 import com.glavsoft.viewer.cli.Parser; | 10 import com.glavsoft.viewer.cli.Parser; |
15 import alice.datasegment.CommandType; | 16 import alice.datasegment.CommandType; |
16 import alice.datasegment.Receiver; | 17 import alice.datasegment.Receiver; |
17 | 18 |
18 public class ReceiveServerInitMessage extends CodeSegment { | 19 public class ReceiveServerInitMessage extends CodeSegment { |
19 | 20 |
20 private Receiver info = ids.create(CommandType.TAKE); | 21 private Receiver info = ids.create(CommandType.PEEK); |
21 | 22 |
22 | 23 |
23 public ReceiveServerInitMessage(){ | 24 public ReceiveServerInitMessage(){ |
24 info.setKey("ServerInitMessage"); | 25 info.setKey("ServerInitMessage"); |
25 } | 26 } |
26 | 27 |
28 public ReceiveServerInitMessage(String key){ | |
29 info.setKey(key, "MyServerInitMessage"); | |
30 } | |
31 | |
27 public void run() { | 32 public void run() { |
28 | 33 PixelFormat pixelFormat = null; |
34 int width = 0; | |
35 int height = 0; | |
36 String name = "defalut"; | |
37 | |
29 Parser parser = new Parser(); | 38 Parser parser = new Parser(); |
30 ParametersHandler.completeParserOptions(parser); | 39 ParametersHandler.completeParserOptions(parser); |
31 if (parser.isSet(ParametersHandler.ARG_HELP)) { | 40 if (parser.isSet(ParametersHandler.ARG_HELP)) { |
32 System.exit(0); | 41 System.exit(0); |
33 } | 42 } |
34 Viewer viewer = new Viewer(parser); | 43 Viewer viewer = new Viewer(parser); |
35 SwingViewerWindowFactory viewerWindowFactory = new SwingViewerWindowFactory(true, false, viewer); | 44 SwingViewerWindowFactory viewerWindowFactory = new SwingViewerWindowFactory(true, false, viewer); |
36 ProtocolSettings settings = ProtocolSettings.getDefaultSettings(); | 45 ProtocolSettings settings = ProtocolSettings.getDefaultSettings(); |
37 Protocol context = new Protocol(null, null, null, settings); | 46 Protocol context = new Protocol(null, null, null, settings); |
38 //context.createMessageQueue(); // need clear Queue | 47 //context.createMessageQueue(); // need clear Queue |
39 ServerInitMessage serverInitMessage = info.asClass(ServerInitMessage.class); | 48 if ("local".equals(info.from)){ |
40 context.setPixelFormat(serverInitMessage.getPixelFormat()); | 49 ServerInitMessage serverInitMessage = info.asClass(ServerInitMessage.class); |
41 context.setFbWidth(serverInitMessage.getFrameBufferWidth()); | 50 pixelFormat = serverInitMessage.getPixelFormat(); |
42 context.setFbHeight(serverInitMessage.getFrameBufferHeight()); | 51 width = serverInitMessage.getFrameBufferWidth(); |
43 context.setRemoteDesktopName(serverInitMessage.getName()); | 52 height = serverInitMessage.getFrameBufferHeight(); |
53 name = serverInitMessage.getName(); | |
54 | |
55 MyServerInitMessage myServerInitMessage = new MyServerInitMessage(serverInitMessage); | |
56 myServerInitMessage.width = width; | |
57 myServerInitMessage.height = height; | |
58 myServerInitMessage.name = name; | |
59 | |
60 ods.put("MyServerInitMessage", myServerInitMessage); | |
61 } else { | |
62 MyServerInitMessage serverInitMessage = info.asClass(MyServerInitMessage.class); | |
63 pixelFormat = serverInitMessage.getPixelFormat(); | |
64 width = serverInitMessage.width; | |
65 height = serverInitMessage.height; | |
66 name = serverInitMessage.name; | |
67 } | |
68 | |
69 context.setPixelFormat(pixelFormat); | |
70 context.setFbWidth(width); | |
71 context.setFbHeight(height); | |
72 context.setRemoteDesktopName(name); | |
44 | 73 |
45 SwingViewerWindow viewerWindow = viewerWindowFactory.createViewerWindow(context, settings, viewer.getUiSettings(), null, null); | 74 SwingViewerWindow viewerWindow = viewerWindowFactory.createViewerWindow(context, settings, viewer.getUiSettings(), null, null); |
46 IRepaintController repaintController = viewerWindow.getSurface(); | 75 IRepaintController repaintController = viewerWindow.getSurface(); |
47 Renderer renderer = repaintController.createRenderer(null, serverInitMessage.getFrameBufferWidth(), serverInitMessage.getFrameBufferHeight(), context.getPixelFormat()); | 76 Renderer renderer = repaintController.createRenderer(null, width, height, context.getPixelFormat()); |
48 RenderAndControllerHolder holder = new RenderAndControllerHolder(renderer, repaintController); | 77 RenderAndControllerHolder holder = new RenderAndControllerHolder(renderer, repaintController); |
49 ods.put("Holder", holder); | 78 ods.put("Holder", holder); |
50 | 79 |
51 new ReceiveUpdateRectangle(); | 80 new ReceiveUpdateRectangle(); |
52 } | 81 } |
53 | 82 |
54 } | 83 } |