Skip to main content

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}