Mercurial > hg > Applications > AliceVNC
diff src/main/java/jp/ac/u_ryukyu/alicevnc/SendChangeRequest.java @ 22:fdb036159e61
create ServerChangeRequest
author | sugi |
---|---|
date | Fri, 07 Nov 2014 17:09:08 +0900 |
parents | src/main/java/jp/ac/u_ryukyu/alicevnc/RequestStartVNCServer.java@87d90513e8f5 |
children | edf1b800d8b9 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/jp/ac/u_ryukyu/alicevnc/SendChangeRequest.java Fri Nov 07 17:09:08 2014 +0900 @@ -0,0 +1,42 @@ +package jp.ac.u_ryukyu.alicevnc; + +import java.util.List; + +import alice.codesegment.CodeSegment; +import alice.datasegment.CommandType; +import alice.datasegment.Receiver; + +public class SendChangeRequest extends CodeSegment { + + private Receiver info = ids.create(CommandType.PEEK); // hostName + private Receiver info1 = ids.create(CommandType.PEEK); // connection list + private Receiver info2 = ids.create(CommandType.PEEK); // AliceVNCConfig + + public SendChangeRequest(){ + info.setKey("host"); + info1.setKey("_CLIST"); + info2.setKey("AliceVNCConfig"); + } + + @Override + public void run() { + AliceVNCConfig config = info2.asClass(AliceVNCConfig.class); + String hostname = info.asString(); + + @SuppressWarnings("unchecked") + List<String> clist = info1.asClass(List.class); + + ChangeRequestMessage mes = new ChangeRequestMessage(); + mes.changeServer = config.getAllowChange(); + mes.requestNodeName = hostname; + + String address = "local"; + if (clist.contains("parent")){ // this node is not root. compare node0 is better? + address = "parent"; + } + + ods.put(address, "changeRequest", mes); + + } + +}