cast_sender/namespace/
multizone.rs1use 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}