pub mod itunes_category_getters;
pub mod itunes_category_builder;
pub mod itunes_owner_getters;
pub mod itunes_owner_builder;
pub mod itunes_item_extension_getters;
pub mod itunes_item_extension_builder;
pub mod itunes_channel_extension_getters;
pub mod itunes_channel_extension_builder;
use rss::extension::itunes::{ITunesCategory, ITunesOwner};
pub trait ITunesCategoryGetters
{
fn text(&self) -> String;
fn subcategory(&self) -> Option<Box<ITunesCategory>>;
}
#[derive(Clone, Default)]
pub struct ITunesCategoryBuilder
{
text: String,
subcategory: Option<Box<ITunesCategory>>,
}
pub trait ITunesOwnerGetters
{
fn name(&self) -> Option<String>;
fn email(&self) -> Option<String>;
}
#[derive(Clone, Default)]
pub struct ITunesOwnerBuilder
{
name: Option<String>,
email: Option<String>,
}
pub trait ITunesChannelExtensionGetters
{
fn author(&self) -> Option<String>;
fn block(&self) -> Option<String>;
fn categories(&self) -> Vec<ITunesCategory>;
fn image(&self) -> Option<String>;
fn explicit(&self) -> Option<String>;
fn complete(&self) -> Option<String>;
fn new_feed_url(&self) -> Option<String>;
fn owner(&self) -> Option<ITunesOwner>;
fn subtitle(&self) -> Option<String>;
fn summary(&self) -> Option<String>;
fn keywords(&self) -> Option<String>;
}
#[derive(Clone, Default)]
pub struct ITunesChannelExtensionBuilder
{
author: Option<String>,
block: Option<String>,
categories: Vec<ITunesCategory>,
image: Option<String>,
explicit: Option<String>,
complete: Option<String>,
new_feed_url: Option<String>,
owner: Option<ITunesOwner>,
subtitle: Option<String>,
summary: Option<String>,
keywords: Option<String>,
}
pub trait ITunesItemExtensionGetters
{
fn author(&self) -> Option<String>;
fn block(&self) -> Option<String>;
fn image(&self) -> Option<String>;
fn duration(&self) -> Option<String>;
fn explicit(&self) -> Option<String>;
fn closed_captioned(&self) -> Option<String>;
fn order(&self) -> Option<String>;
fn subtitle(&self) -> Option<String>;
fn summary(&self) -> Option<String>;
fn keywords(&self) -> Option<String>;
}
#[derive(Clone, Default)]
pub struct ITunesItemExtensionBuilder
{
author: Option<String>,
block: Option<String>,
image: Option<String>,
duration: Option<String>,
explicit: Option<String>,
closed_captioned: Option<String>,
order: Option<String>,
subtitle: Option<String>,
summary: Option<String>,
keywords: Option<String>,
}