origin_sdk/protocol/
voip.rs

1use 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}