annotate src/main/java/jp/ac/u_ryukyu/alicevnc/NegotiateVNCServer.java @ 27:14c7bd581cc2

implement change VNC Server protocol
author sugi
date Sat, 08 Nov 2014 15:50:32 +0900
parents 6cb444e8e646
children d8c6a4c7f16e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
4faa4619a02f refactor
YU
parents:
diff changeset
1 package jp.ac.u_ryukyu.alicevnc;
4faa4619a02f refactor
YU
parents:
diff changeset
2
24
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
3 import java.util.ArrayList;
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
4
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
5 import jp.ac.u_ryukyu.alicevnc.ChangeRequestMessage.MessageType;
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
6
7
4faa4619a02f refactor
YU
parents:
diff changeset
7 import com.glavsoft.viewer.Viewer;
4faa4619a02f refactor
YU
parents:
diff changeset
8
4faa4619a02f refactor
YU
parents:
diff changeset
9 import alice.codesegment.CodeSegment;
4faa4619a02f refactor
YU
parents:
diff changeset
10 import alice.datasegment.CommandType;
4faa4619a02f refactor
YU
parents:
diff changeset
11 import alice.datasegment.Receiver;
4faa4619a02f refactor
YU
parents:
diff changeset
12
20
15398aebb0ef refactor
sugi
parents: 15
diff changeset
13 public class NegotiateVNCServer extends CodeSegment {
7
4faa4619a02f refactor
YU
parents:
diff changeset
14 private Receiver info = ids.create(CommandType.PEEK);
20
15398aebb0ef refactor
sugi
parents: 15
diff changeset
15 private Receiver info1 = ids.create(CommandType.PEEK);
7
4faa4619a02f refactor
YU
parents:
diff changeset
16
20
15398aebb0ef refactor
sugi
parents: 15
diff changeset
17 public NegotiateVNCServer(){
15398aebb0ef refactor
sugi
parents: 15
diff changeset
18 info.setKey("host");
15398aebb0ef refactor
sugi
parents: 15
diff changeset
19 info1.setKey("AliceVNCConfig");
7
4faa4619a02f refactor
YU
parents:
diff changeset
20 }
22
fdb036159e61 create ServerChangeRequest
sugi
parents: 20
diff changeset
21
20
15398aebb0ef refactor
sugi
parents: 15
diff changeset
22 @Override
7
4faa4619a02f refactor
YU
parents:
diff changeset
23 public void run() {
22
fdb036159e61 create ServerChangeRequest
sugi
parents: 20
diff changeset
24
20
15398aebb0ef refactor
sugi
parents: 15
diff changeset
25 AliceVNCConfig conf = info1.asClass(AliceVNCConfig.class);
15398aebb0ef refactor
sugi
parents: 15
diff changeset
26 String hostname = info.asString();
22
fdb036159e61 create ServerChangeRequest
sugi
parents: 20
diff changeset
27
20
15398aebb0ef refactor
sugi
parents: 15
diff changeset
28 if ("node0".equals(hostname)) {
15398aebb0ef refactor
sugi
parents: 15
diff changeset
29 // root node connect to vnc Server first time.
15398aebb0ef refactor
sugi
parents: 15
diff changeset
30 String[] args = {"localhost"};
22
fdb036159e61 create ServerChangeRequest
sugi
parents: 20
diff changeset
31 // negotiate VNCServer by Viewer
20
15398aebb0ef refactor
sugi
parents: 15
diff changeset
32 Viewer.main(args);
24
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
33
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
34 // currentServer Info
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
35 ChangeRequestMessage currentServerInfo = new ChangeRequestMessage(MessageType.CurrentVNCInfo);
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
36 currentServerInfo.name = "node0";
27
14c7bd581cc2 implement change VNC Server protocol
sugi
parents: 25
diff changeset
37 currentServerInfo.allowChange = conf.getAllowChange();
24
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
38 ArrayList<String> list = new ArrayList<String>();
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
39 currentServerInfo.route = list;
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
40 ods.put("changeRequest", currentServerInfo);
20
15398aebb0ef refactor
sugi
parents: 15
diff changeset
41 new ReceiveServerInitMessage();
15
87d90513e8f5 add ServerChange Message
YU
parents: 7
diff changeset
42 } else {
20
15398aebb0ef refactor
sugi
parents: 15
diff changeset
43 new ReceiveServerInitMessage("parent");
22
fdb036159e61 create ServerChangeRequest
sugi
parents: 20
diff changeset
44 if (conf.getProxyFlag()){
fdb036159e61 create ServerChangeRequest
sugi
parents: 20
diff changeset
45 new SendChangeRequest();
fdb036159e61 create ServerChangeRequest
sugi
parents: 20
diff changeset
46
20
15398aebb0ef refactor
sugi
parents: 15
diff changeset
47 }
15
87d90513e8f5 add ServerChange Message
YU
parents: 7
diff changeset
48 }
24
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
49
23
edf1b800d8b9 need send Server request Test
sugi
parents: 22
diff changeset
50 new ReceiveChangeRequest();
edf1b800d8b9 need send Server request Test
sugi
parents: 22
diff changeset
51 new SendChangeRequest();
7
4faa4619a02f refactor
YU
parents:
diff changeset
52 }
4faa4619a02f refactor
YU
parents:
diff changeset
53
4faa4619a02f refactor
YU
parents:
diff changeset
54 }