comparison src/main/java/jp/ac/u_ryukyu/alicevnc/ReceiveAliceVNCMessage.java @ 47:9354e8a1d03b

working AliceVNC
author Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
date Mon, 19 Oct 2015 23:48:18 +0900
parents aace9df1462e
children 57ca704f86a3
comparison
equal deleted inserted replaced
46:51e57371c620 47:9354e8a1d03b
9 9
10 public class ReceiveAliceVNCMessage extends CodeSegment { 10 public class ReceiveAliceVNCMessage extends CodeSegment {
11 private Receiver info = ids.create(CommandType.TAKE); 11 private Receiver info = ids.create(CommandType.TAKE);
12 private Receiver info1 = ids.create(CommandType.PEEK); // connection list 12 private Receiver info1 = ids.create(CommandType.PEEK); // connection list
13 13
14 public ReceiveAliceVNCMessage() { 14 public ReceiveAliceVNCMessage(CodeSegment cs) {
15 info.setKey("AliceVNCMessage"); 15 this.aliceDaemon = cs.aliceDaemon;
16 info1.setKey("_CLIST"); 16 info.setKey("AliceVNCMessage", this);
17 info1.setKey("_CLIST", this);
17 } 18 }
18 19
19 @Override 20 @Override
20 public void run() { 21 public void run() {
21 AliceVNCMessage order = info.asClass(AliceVNCMessage.class); 22 AliceVNCMessage order = info.asClass(AliceVNCMessage.class);
25 if (order.messageID == MessageType.ChangeRequest.getId()|| 26 if (order.messageID == MessageType.ChangeRequest.getId()||
26 order.messageID == MessageType.CurrentVNCInfo.getId()) { 27 order.messageID == MessageType.CurrentVNCInfo.getId()) {
27 if (clist.contains("parent")){ 28 if (clist.contains("parent")){
28 order.route.add(info.from); 29 order.route.add(info.from);
29 ods.put("parent", "AliceVNCMessage", order); 30 ods.put("parent", "AliceVNCMessage", order);
30 new ReceiveAliceVNCMessage(); 31 new ReceiveAliceVNCMessage(this);
31 } else { // this node is root. 32 } else { // this node is root.
32 order.route.add(info.from); 33 order.route.add(info.from);
33 if (order.messageID == MessageType.CurrentVNCInfo.getId()) { 34 if (order.messageID == MessageType.CurrentVNCInfo.getId()) {
34 ods.put("currentServer", order); 35 ods.put("currentServer", order);
35 new ReceiveAliceVNCMessage(); 36 new ReceiveAliceVNCMessage(this);
36 } else { 37 } else {
37 new CheckCurrentInfo(order); // check change Server flag. 38 new CheckCurrentInfo(order, this); // check change Server flag.
38 } 39 }
39 } 40 }
40 } else if (order.messageID == MessageType.StartNegotiate.getId()|| 41 } else if (order.messageID == MessageType.StartNegotiate.getId()||
41 order.messageID == MessageType.StopProxy.getId()|| 42 order.messageID == MessageType.StopProxy.getId()||
42 order.messageID == MessageType.DeniedRequest.getId()) { 43 order.messageID == MessageType.DeniedRequest.getId()) {
43 if (order.route.size() == 0) { 44 if (order.route.size() == 0) {
44 // this node send ChangeVNCRequest 45 // this node send ChangeVNCRequest
45 if (order.messageID == MessageType.StartNegotiate.getId()){ 46 if (order.messageID == MessageType.StartNegotiate.getId()){
46 // negotiate VNCServer by Viewer 47 // negotiate VNCServer by Viewer
47 ods.put("vncRight", true); 48 ods.put("vncRight", true);
48 new NegotiateVNCServer(); 49 new NegotiateVNCServer(this);
49 new ReceiveAliceVNCMessage(); 50 new ReceiveAliceVNCMessage(this);
50 } else if(order.messageID == MessageType.StopProxy.getId()) { 51 } else if(order.messageID == MessageType.StopProxy.getId()) {
51 new StopProxy(); 52 new StopProxy();
52 } else if (order.messageID == MessageType.DeniedRequest.getId()) { 53 } else if (order.messageID == MessageType.DeniedRequest.getId()) {
53 // pop up window or message 54 // pop up window or message
54 } 55 }
55 } else { 56 } else {
56 String address = order.getNextAddress(); 57 String address = order.getNextAddress();
57 ods.put(address, "AliceVNCMessage", order); 58 ods.put(address, "AliceVNCMessage", order);
58 new ReceiveAliceVNCMessage(); 59 new ReceiveAliceVNCMessage(this);
59 } 60 }
60 } 61 }
61 } 62 }
62 } 63 }