view src/main/java/jp/ac/u_ryukyu/alicevnc/NegotiateVNCServer.java @ 20:15398aebb0ef

refactor
author sugi
date Thu, 06 Nov 2014 19:43:48 +0900
parents src/main/java/jp/ac/u_ryukyu/alicevnc/StartVNCServer.java@87d90513e8f5
children fdb036159e61
line wrap: on
line source

package jp.ac.u_ryukyu.alicevnc;

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(){
        info.setKey("host");
        info1.setKey("AliceVNCConfig");
    }
    
    @Override
    public void run() {
        
        AliceVNCConfig conf = info1.asClass(AliceVNCConfig.class);
        String hostname = info.asString();
        
        if ("node0".equals(hostname)) {
            // root node connect to vnc Server first time.
            String[] args = {"localhost"};
            
            // negotiate VNCServer by Viewer  
            Viewer.main(args);
            new ReceiveServerInitMessage();
        } else {
            new ReceiveServerInitMessage("parent");
            if (conf.getProxyFlag()){                
                new RequestStartVNCServer();
                
            }
        }

    }

}