origin_sdk/protocol/
voip.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Serialize, Deserialize)]
4pub struct EnableVoip {
5 #[serde(rename = "@Enable")]
6 pub enable: bool,
7}
8
9#[derive(Debug, Serialize, Deserialize)]
10pub enum EnumMuteState {
11 #[serde(rename = "NONE")]
12 None,
13 #[serde(rename = "UNMUTED")]
14 Unmuted,
15 #[serde(rename = "MUTED_LOCALLY")]
16 MutedLocally,
17 #[serde(rename = "MUTED_REMOTELY")]
18 MutedRemotely,
19 #[serde(rename = "MUTED_LOCALLY_AND_REMOTELY")]
20 MutedLocallyAndRemotely,
21}
22
23#[derive(Debug, Serialize, Deserialize)]
24pub struct GetVoipStatus;
25
26#[derive(Debug, Serialize, Deserialize)]
27pub struct GetVoipStatusResponse {
28 #[serde(rename = "@Available")]
29 pub available: bool,
30 #[serde(rename = "@Active")]
31 pub active: bool,
32}
33
34#[derive(Debug, Serialize, Deserialize)]
35pub struct MuteState {
36 #[serde(rename = "@State")]
37 pub state: EnumMuteState,
38 #[serde(rename = "@UserId")]
39 pub user_id: u64,
40}
41
42#[derive(Debug, Serialize, Deserialize)]
43pub struct MuteUser {
44 #[serde(rename = "@bMute")]
45 pub b_mute: bool,
46 #[serde(rename = "@GroupId")]
47 pub group_id: String,
48 #[serde(rename = "@UserId")]
49 pub user_id: u64,
50}
51
52#[derive(Debug, Serialize, Deserialize)]
53pub struct QueryMuteState {
54 #[serde(rename = "@GroupId")]
55 pub group_id: String,
56}
57
58#[derive(Debug, Serialize, Deserialize)]
59pub struct QueryMuteStateResponse {
60 #[serde(rename = "MuteState", default)]
61 pub mute_state_array: Vec<MuteState>,
62}
63
64#[derive(Debug, Serialize, Deserialize)]
65pub enum VoipStatus {
66 #[serde(rename = "UNKNOWN")]
67 Unknown = -1,
68 #[serde(rename = "CHANNEL_DISCONNECTED")]
69 ChannelDisconnected,
70 #[serde(rename = "CHANNEL_CONNECTING")]
71 ChannelConnecting,
72 #[serde(rename = "CHANNEL_CONNECTED")]
73 ChannelConnected,
74 #[serde(rename = "USER_TALKING_START")]
75 UserTalkingStart,
76 #[serde(rename = "USER_TALKING_END")]
77 UserTalkingEnd,
78 #[serde(rename = "USER_MUTED_LOCALLY")]
79 UserMutedLocally,
80 #[serde(rename = "USER_MUTED_REMOTELY")]
81 UserMutedRemotely,
82 #[serde(rename = "USER_UNMUTED_LOCALLY")]
83 UserUnmutedLocally,
84 #[serde(rename = "USER_UNMUTED_REMOTELY")]
85 UserUnmutedRemotely,
86 #[serde(rename = "USER_JOINED")]
87 UserJoined,
88 #[serde(rename = "USER_LEFT")]
89 UserLeft,
90 #[serde(rename = "UNAVAILABLE")]
91 Unavailable,
92}
93
94#[derive(Debug, Serialize, Deserialize)]
95pub struct VoipStatusEvent {
96 #[serde(rename = "@Status")]
97 pub status: VoipStatus,
98 #[serde(rename = "@UserId")]
99 pub user_id: u64,
100}