Lines
0 %
Functions
use serde::{Deserialize, Serialize};
use crate::{
commands::{CommandResponse, ResponseParserError, single_optional_item_command_request},
response_tokenizer::ResponseAttributes,
types::{DbSongInfo, OneOrRange, Priority, SongId, SongPosition},
};
single_optional_item_command_request!(PlaylistInfo, "playlistinfo", OneOrRange);
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct PlaylistInfoResponse(Vec<PlaylistInfoResponseEntry>);
impl PlaylistInfoResponse {
pub fn new(items: Vec<PlaylistInfoResponseEntry>) -> Self {
PlaylistInfoResponse(items)
}
pub struct PlaylistInfoResponseEntry {
pub position: SongPosition,
pub id: SongId,
pub priority: Option<Priority>,
pub song_info: DbSongInfo,
impl PlaylistInfoResponseEntry {
pub fn new(
position: SongPosition,
id: SongId,
priority: Option<Priority>,
song_info: DbSongInfo,
) -> Self {
PlaylistInfoResponseEntry {
position,
id,
priority,
song_info,
impl CommandResponse for PlaylistInfoResponse {
type Request = PlaylistInfoRequest;
fn parse(_parts: ResponseAttributes<'_>) -> Result<Self, ResponseParserError> {
unimplemented!()
fn serialize(&self) -> Vec<u8> {
unimplemented!("response serialization is not yet implemented for PlaylistInfoResponse")