Files
empidee/src/commands/playback_options/replay_gain_mode.rs
h7x4 1944b5022d
Some checks failed
Build and test / test (push) Failing after 14s
Build and test / docs (push) Has been cancelled
Build and test / build (push) Has been cancelled
Build and test / check (push) Has been cancelled
common/types: move stuff from requests to types
2025-02-23 19:46:28 +01:00

35 lines
980 B
Rust

use std::str::FromStr;
use crate::{
commands::{
Command, Request, RequestParserError, RequestParserResult, ResponseAttributes,
ResponseParserError,
}, common::ReplayGainModeMode,
};
pub struct ReplayGainMode;
impl Command for ReplayGainMode {
type Response = ();
const COMMAND: &'static str = "replay_gain_mode";
fn parse_request(mut parts: std::str::SplitWhitespace<'_>) -> RequestParserResult<'_> {
let mode = match parts.next() {
Some(s) => ReplayGainModeMode::from_str(s)
.map_err(|_| RequestParserError::SyntaxError(0, s.to_owned()))?,
None => return Err(RequestParserError::UnexpectedEOF),
};
debug_assert!(parts.next().is_none());
Ok((Request::ReplayGainMode(mode), ""))
}
fn parse_response(
parts: ResponseAttributes<'_>,
) -> Result<Self::Response, ResponseParserError> {
debug_assert!(parts.is_empty());
Ok(())
}
}