view src/main/java/jp/ac/u_ryukyu/alicevnc/NegotiateVNCServer.java @ 86:4a8755a30aa8 default tip

add topology manager number to 'host' key
author Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
date Wed, 10 Feb 2016 22:54:46 +0900
parents 3a27a0727705
children
line wrap: on
line source

package jp.ac.u_ryukyu.alicevnc;

import java.util.ArrayList;

import alice.datasegment.DataSegment;
import jp.ac.u_ryukyu.alicevnc.AliceVNCMessage.MessageType;

import com.glavsoft.viewer.Viewer;

import alice.codesegment.CodeSegment;
import alice.datasegment.CommandType;
import alice.datasegment.Receiver;

public class NegotiateVNCServer extends CodeSegment {
    private Receiver info = ids.create(CommandType.PEEK);
    private Receiver info1 = ids.create(CommandType.PEEK);

    public NegotiateVNCServer(int topMNumber){
        for (int i = 1; i <= topMNumber; i++) {
            info.setKey("host"+i);
        }
        info1.setKey("AliceVNCConfig");
    }

    @Override
    public void run() {
        //System.out.println("NegotiateVNCServer host index:" + DataSegment.getLocal().getDSindex("host"));
        AliceVNCConfig conf = info1.asClass(AliceVNCConfig.class);
        String hostname = info.asString();

        // root node connect to vnc Server first time.
        String[] args = {"localhost"};
        // negotiate VNCServer by Viewer
        Viewer.main(args);

        // currentServer Info
        AliceVNCMessage currentServerInfo = new AliceVNCMessage(MessageType.CurrentVNCInfo);
        currentServerInfo.name = hostname;
        currentServerInfo.allowChange = conf.getAllowChange();
        ArrayList<String> list = new ArrayList<String>();
        currentServerInfo.route = list;
        ods.put("AliceVNCMessage", currentServerInfo);

    }

}