15
|
1 package jp.ac.u_ryukyu.alicevnc;
|
|
2
|
22
|
3 import java.util.List;
|
|
4
|
15
|
5 import org.msgpack.annotation.Message;
|
|
6
|
|
7 @Message
|
32
|
8 public class AliceVNCMessage {
|
24
|
9 public int messageID;
|
22
|
10 public List<String> route;
|
27
|
11 public boolean allowChange = false;
|
24
|
12 public String name;
|
22
|
13
|
32
|
14 public AliceVNCMessage(){
|
22
|
15 // constructor need for MessagePack
|
15
|
16 }
|
|
17
|
32
|
18 public AliceVNCMessage(MessageType type){
|
24
|
19 messageID = type.getId();
|
|
20 }
|
|
21
|
34
|
22 public String getNextAddress(){
|
|
23 int last = route.size() - 1;
|
|
24 String address = route.get(last);
|
|
25 route.remove(last);
|
|
26 return address;
|
|
27 }
|
|
28
|
24
|
29 public enum MessageType{
|
|
30 ChangeRequest(1),
|
|
31 StartNegotiate(2),
|
27
|
32 CurrentVNCInfo(3),
|
34
|
33 StopProxy(4),
|
|
34 DeniedRequest(5);
|
24
|
35
|
|
36 private final int id;
|
|
37 private MessageType(final int id) {
|
|
38 this.id = id;
|
|
39 }
|
|
40
|
|
41 public int getId() {
|
|
42 return id;
|
|
43 }
|
|
44 }
|
15
|
45 }
|