view src/main/java/jp/ac/u_ryukyu/alicevnc/AliceVNCMessage.java @ 37:5e20f680d6d0

Merge with 1fa4b7b8d19f3d3c623c152023617b30982fc7f4
author sugi
date Sun, 07 Dec 2014 18:31:36 +0900
parents aace9df1462e
children
line wrap: on
line source

package jp.ac.u_ryukyu.alicevnc;

import java.util.List;

import org.msgpack.annotation.Message;

@Message
public class AliceVNCMessage {
    public int messageID;
    public List<String> route;
    public boolean allowChange = false;
    public String name;

    public AliceVNCMessage(){
        // constructor need for MessagePack
    }

    public AliceVNCMessage(MessageType type){
        messageID = type.getId();
    }

    public String getNextAddress(){
        int last = route.size() - 1;
        String address = route.get(last);
        route.remove(last);
        return address;
    }

    public enum MessageType{
        ChangeRequest(1),
        StartNegotiate(2),
        CurrentVNCInfo(3),
        StopProxy(4),
        DeniedRequest(5);

        private final int id;
        private MessageType(final int id) {
            this.id = id;
        }

        public int getId() {
            return id;
        }
    }
}