Struct OwnershipFrame

Source
pub struct OwnershipFrame<'a> {
    pub encoding: TextEncoding,
    pub price_paid: String,
    pub date_of_purchase: String,
    pub seller: String,
    /* private fields */
}
Expand description

An ID3v2 ownership frame

This is used to mark a transaction, and is recommended to be used in addition to the USER and TOWN frames.

Fields§

§encoding: TextEncoding

The encoding of the seller string

§price_paid: String

The price paid

The first three characters of this field contains the currency used for the transaction, encoded according to ISO 4217 alphabetic currency code. Concatenated to this is the actual price paid, as a numerical string using ”.” as the decimal separator.

§date_of_purchase: String

The date of purchase as an 8 character date string (YYYYMMDD)

§seller: String

The seller name

Implementations§

Source§

impl OwnershipFrame<'_>

Source

pub fn new( encoding: TextEncoding, price_paid: String, date_of_purchase: String, seller: String, ) -> Self

Create a new OwnershipFrame

Source

pub fn id(&self) -> FrameId<'_>

Get the ID for the frame

Source

pub fn flags(&self) -> FrameFlags

Get the flags for the frame

Source

pub fn set_flags(&mut self, flags: FrameFlags)

Set the flags for the frame

Source

pub fn parse<R>(reader: &mut R, frame_flags: FrameFlags) -> Result<Option<Self>>
where R: Read,

Read an OwnershipFrame

NOTE: This expects the frame header to have already been skipped

§Errors
  • Invalid text encoding
  • Not enough data
Source

pub fn as_bytes(&self, is_id3v23: bool) -> Result<Vec<u8>>

Convert an OwnershipFrame to a byte vec

NOTE: The caller must verify that the price_paid field is a valid Latin-1 encoded string

§Errors
  • date_of_purchase is not at least 8 characters (it will be truncated if greater)

Trait Implementations§

Source§

impl<'a> Clone for OwnershipFrame<'a>

Source§

fn clone(&self) -> OwnershipFrame<'a>

Returns a duplicate of the value. Read more
1.0.0 · Source§

const fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> Debug for OwnershipFrame<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a> From<OwnershipFrame<'a>> for Frame<'a>

Source§

fn from(value: OwnershipFrame<'a>) -> Self

Converts to this type from the input type.
Source§

impl<'a> Hash for OwnershipFrame<'a>

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl<'a> PartialEq for OwnershipFrame<'a>

Source§

fn eq(&self, other: &OwnershipFrame<'a>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

const fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a> Eq for OwnershipFrame<'a>

Source§

impl<'a> StructuralPartialEq for OwnershipFrame<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for OwnershipFrame<'a>

§

impl<'a> RefUnwindSafe for OwnershipFrame<'a>

§

impl<'a> Send for OwnershipFrame<'a>

§

impl<'a> Sync for OwnershipFrame<'a>

§

impl<'a> Unpin for OwnershipFrame<'a>

§

impl<'a> UnwindSafe for OwnershipFrame<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.