]> nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/json/JsonCallMessage.java
Implement JsonRpc command for quitGroup
[signal-cli] / src / main / java / org / asamk / signal / json / JsonCallMessage.java
1 package org.asamk.signal.json;
2
3 import com.fasterxml.jackson.annotation.JsonInclude;
4 import com.fasterxml.jackson.annotation.JsonProperty;
5
6 import org.whispersystems.signalservice.api.messages.calls.AnswerMessage;
7 import org.whispersystems.signalservice.api.messages.calls.BusyMessage;
8 import org.whispersystems.signalservice.api.messages.calls.HangupMessage;
9 import org.whispersystems.signalservice.api.messages.calls.IceUpdateMessage;
10 import org.whispersystems.signalservice.api.messages.calls.OfferMessage;
11 import org.whispersystems.signalservice.api.messages.calls.SignalServiceCallMessage;
12
13 import java.util.List;
14
15 class JsonCallMessage {
16
17 @JsonProperty
18 @JsonInclude(JsonInclude.Include.NON_NULL)
19 final OfferMessage offerMessage;
20
21 @JsonProperty
22 @JsonInclude(JsonInclude.Include.NON_NULL)
23 final AnswerMessage answerMessage;
24
25 @JsonProperty
26 @JsonInclude(JsonInclude.Include.NON_NULL)
27 final BusyMessage busyMessage;
28
29 @JsonProperty
30 @JsonInclude(JsonInclude.Include.NON_NULL)
31 final HangupMessage hangupMessage;
32
33 @JsonProperty
34 @JsonInclude(JsonInclude.Include.NON_NULL)
35 final List<IceUpdateMessage> iceUpdateMessages;
36
37 JsonCallMessage(SignalServiceCallMessage callMessage) {
38 this.offerMessage = callMessage.getOfferMessage().orNull();
39 this.answerMessage = callMessage.getAnswerMessage().orNull();
40 this.busyMessage = callMessage.getBusyMessage().orNull();
41 this.hangupMessage = callMessage.getHangupMessage().orNull();
42 this.iceUpdateMessages = callMessage.getIceUpdateMessages().orNull();
43 }
44 }