2022-08-02 10:45:37 +00:00
|
|
|
use std::{
|
|
|
|
fmt::Debug,
|
|
|
|
ops::{Deref, DerefMut},
|
|
|
|
};
|
2021-12-07 22:22:24 +00:00
|
|
|
|
2022-08-02 12:21:07 +00:00
|
|
|
use crate::util::{impl_deref_wrapped, impl_from_repeated};
|
2021-12-07 22:22:24 +00:00
|
|
|
|
2021-12-26 20:18:42 +00:00
|
|
|
use librespot_protocol as protocol;
|
2023-01-17 20:46:14 +00:00
|
|
|
pub use protocol::metadata::copyright::Type as CopyrightType;
|
2021-12-07 22:22:24 +00:00
|
|
|
use protocol::metadata::Copyright as CopyrightMessage;
|
|
|
|
|
|
|
|
#[derive(Debug, Clone)]
|
|
|
|
pub struct Copyright {
|
|
|
|
pub copyright_type: CopyrightType,
|
|
|
|
pub text: String,
|
|
|
|
}
|
|
|
|
|
2022-07-31 22:44:43 +00:00
|
|
|
#[derive(Debug, Clone, Default)]
|
2021-12-07 22:22:24 +00:00
|
|
|
pub struct Copyrights(pub Vec<Copyright>);
|
|
|
|
|
2022-08-02 10:45:37 +00:00
|
|
|
impl_deref_wrapped!(Copyrights, Vec<Copyright>);
|
2021-12-07 22:22:24 +00:00
|
|
|
|
|
|
|
impl From<&CopyrightMessage> for Copyright {
|
|
|
|
fn from(copyright: &CopyrightMessage) -> Self {
|
|
|
|
Self {
|
2023-01-17 20:46:14 +00:00
|
|
|
copyright_type: copyright.type_(),
|
|
|
|
text: copyright.text().to_owned(),
|
2021-12-07 22:22:24 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-08-02 12:21:07 +00:00
|
|
|
impl_from_repeated!(CopyrightMessage, Copyrights);
|