sonos_api/services/group_management/state.rs
1//! Canonical GroupManagement service state type.
2//!
3//! Used by UPnP event streaming (via `into_state()`).
4//! No `poll()` function — GroupManagement is an action-only service with no Get operations.
5
6use serde::{Deserialize, Serialize};
7
8/// Complete GroupManagement service state.
9///
10/// Canonical type used by UPnP event streaming.
11/// GroupManagement has no Get operations, so polling returns a stable empty state.
12#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
13pub struct GroupManagementState {
14 /// Whether the group coordinator is local to this device
15 pub group_coordinator_is_local: Option<bool>,
16
17 /// UUID of the local group
18 pub local_group_uuid: Option<String>,
19
20 /// Whether volume should be reset after ungrouping
21 pub reset_volume_after: Option<bool>,
22
23 /// Virtual line-in group identifier
24 pub virtual_line_in_group_id: Option<String>,
25
26 /// Volume AV transport URI for the group
27 pub volume_av_transport_uri: Option<String>,
28}