From ea77a8cf9c012fcd877d842fec85b0b5a442952c Mon Sep 17 00:00:00 2001 From: "Jakob L. Kreuze" Date: Sun, 7 Aug 2022 20:47:54 -0400 Subject: Import modifications to `mpd` crate --- vendored/mpd/src/output.rs | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 vendored/mpd/src/output.rs (limited to 'vendored/mpd/src/output.rs') diff --git a/vendored/mpd/src/output.rs b/vendored/mpd/src/output.rs new file mode 100644 index 0000000..d781511 --- /dev/null +++ b/vendored/mpd/src/output.rs @@ -0,0 +1,28 @@ +//! The module describes output + + +use crate::convert::FromMap; +use crate::error::{Error, ProtoError}; +use std::collections::BTreeMap; +use std::convert::From; + +/// Sound output +#[derive(Clone, Debug, PartialEq, RustcEncodable)] +pub struct Output { + /// id + pub id: u32, + /// name + pub name: String, + /// enabled state + pub enabled: bool, +} + +impl FromMap for Output { + fn from_map(map: BTreeMap) -> Result { + Ok(Output { + id: get_field!(map, "outputid"), + name: map.get("outputname").map(|v| v.to_owned()).ok_or(Error::Proto(ProtoError::NoField("outputname")))?, + enabled: get_field!(map, bool "outputenabled"), + }) + } +} -- cgit v1.3