Skip to main content

cast_sender/namespace/
multizone.rs

1use crate::Payload;
2
3use crate::Volume;
4
5#[derive(Serialize, Deserialize, Clone, Debug)]
6#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
7#[serde(tag = "type")]
8pub enum Multizone {
9    DeviceUpdated(DeviceResponse),
10}
11
12impl From<Multizone> for Payload {
13    fn from(val: Multizone) -> Self {
14        Payload::Multizone(val.clone())
15    }
16}
17
18#[derive(Serialize, Deserialize, Clone, Debug, Default)]
19#[serde(rename_all = "camelCase")]
20pub struct DeviceResponse {
21    pub device: Device,
22}
23
24#[derive(Serialize, Deserialize, Clone, Debug, Default)]
25#[serde(rename_all = "camelCase")]
26pub struct Device {
27    pub capabilities: u32,
28    pub device_id: String,
29    pub name: String,
30    pub volume: Volume,
31}