pub mod events;
pub mod operations;
pub mod state;
pub use operations::*;
pub use events::{
create_enriched_event, create_enriched_event_with_registration_id, GroupManagementEvent,
GroupManagementEventParser,
};
pub use state::GroupManagementState;
pub const SERVICE: crate::Service = crate::Service::GroupManagement;
pub fn subscribe(
client: &crate::SonosClient,
ip: &str,
callback_url: &str,
) -> crate::Result<crate::ManagedSubscription> {
client.subscribe(ip, SERVICE, callback_url)
}
pub fn subscribe_with_timeout(
client: &crate::SonosClient,
ip: &str,
callback_url: &str,
timeout_seconds: u32,
) -> crate::Result<crate::ManagedSubscription> {
client.subscribe_with_timeout(ip, SERVICE, callback_url, timeout_seconds)
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_module_service_constant() {
assert_eq!(SERVICE, crate::Service::GroupManagement);
}
#[test]
fn test_subscribe_function_exists() {
let _: fn(&crate::SonosClient, &str, &str) -> crate::Result<crate::ManagedSubscription> =
subscribe;
}
#[test]
fn test_subscribe_with_timeout_function_exists() {
let _: fn(
&crate::SonosClient,
&str,
&str,
u32,
) -> crate::Result<crate::ManagedSubscription> = subscribe_with_timeout;
}
}