StormByte C++ Library: Multimedia module 0.0.9999
StormByte-Multimedia is a StormByte library module for parsing configuration files
Loading...
Searching...
No Matches
StormByte::Multimedia::Pipeline::Config::Attachment Class Reference

Attachment-track intention. More...

#include <StormByte/multimedia/pipeline/config/attachment.hxx>

Inheritance diagram for StormByte::Multimedia::Pipeline::Config::Attachment:
Collaboration diagram for StormByte::Multimedia::Pipeline::Config::Attachment:

Public Member Functions

PointerType Clone () const override
 Deep copy.
PointerType Move () override
 Move into a new pointer.
const std::string & MimeType () const noexcept
 Concrete MIME type.
void MimeType (std::string &&mime_type) noexcept
 Replaces the MIME type (moved).
void MimeType (std::string_view mime_type) noexcept
 Replaces the MIME type (copied from a view).
Lifecycle
 Attachment (std::string_view mime_type) noexcept
 Builds from a mime view (copied).
 Attachment (std::string &&mime_type) noexcept
 Builds from a moved mime string.
 Attachment (const Attachment &other) noexcept=default
 Copy constructor.
 Attachment (Attachment &&other) noexcept=default
 Move constructor.
virtual ~Attachment () noexcept override=default
 Destructor.
Attachment & operator= (const Attachment &other) noexcept=default
 Copy assignment.
Attachment & operator= (Attachment &&other) noexcept=default
 Move assignment.
Public Member Functions inherited from StormByte::Multimedia::Pipeline::Config::Base
 Base (const Base &other) noexcept=default
 Copy constructor.
 Base (Base &&other) noexcept=default
 Move constructor.
virtual ~Base () noexcept override=default
 Destructor.
Base & operator= (const Base &other) noexcept=default
 Copy assignment.
Base & operator= (Base &&other) noexcept=default
 Move assignment.
constexpr enum StormByte::Multimedia::Type Type () const noexcept
 Media stamped by the leaf constructor.
const std::optional< std::string > & Language () const noexcept
 Language override.
void Language (std::string language) noexcept
 Sets the language override.
const std::optional< std::string > & Title () const noexcept
 Title override.
void Title (std::string title) noexcept
 Sets the title override.
const std::optional< bool > & Default () const noexcept
 Default-disposition override.
void Default (std::optional< bool > value) noexcept
 Sets or clears the default-disposition override.
const std::optional< bool > & Forced () const noexcept
 Forced-disposition override.
void Forced (std::optional< bool > value) noexcept
 Sets or clears the forced-disposition override.
const struct Implementation & Implementation () const noexcept
 Decoder / encoder pins.
void Implementation (struct Implementation implementation) noexcept
 Replaces both pins.

Additional Inherited Members

Protected Member Functions inherited from StormByte::Multimedia::Pipeline::Config::Base
constexpr Base (enum StormByte::Multimedia::Type type) noexcept
 Empty overrides; media fixed for the leaf lifetime.

Detailed Description

Attachment-track intention.

One leaf per attached stream. There is no “all attachments” config; omit the track to drop, Track with this leaf to keep it. Tags live on Base.

MimeType is required. Wildcards (image/*) are not valid.

Todo
Replace MimeType with an enum.

Constructor & Destructor Documentation

◆ Attachment() [1/4]

StormByte::Multimedia::Pipeline::Config::Attachment::Attachment ( std::string_view mime_type)
inlineexplicitnoexcept

Builds from a mime view (copied).

Parameters
mime_typeConcrete MIME type (image/jpeg, font/ttf, …).

◆ Attachment() [2/4]

StormByte::Multimedia::Pipeline::Config::Attachment::Attachment ( std::string && mime_type)
inlineexplicitnoexcept

Builds from a moved mime string.

Parameters
mime_typeConcrete MIME type.

◆ Attachment() [3/4]

StormByte::Multimedia::Pipeline::Config::Attachment::Attachment ( const Attachment & other)
defaultnoexcept

Copy constructor.

Parameters
otherSource config.

◆ Attachment() [4/4]

StormByte::Multimedia::Pipeline::Config::Attachment::Attachment ( Attachment && other)
defaultnoexcept

Move constructor.

Parameters
otherConfig to take.

◆ ~Attachment()

virtual StormByte::Multimedia::Pipeline::Config::Attachment::~Attachment ( )
overridevirtualdefaultnoexcept

Destructor.

Member Function Documentation

◆ Clone()

PointerType StormByte::Multimedia::Pipeline::Config::Attachment::Clone ( ) const
inlineoverride

Deep copy.

Returns
Owning pointer to a new Attachment.

◆ MimeType() [1/3]

const std::string & StormByte::Multimedia::Pipeline::Config::Attachment::MimeType ( ) const
inlinenoexcept

Concrete MIME type.

Not a wildcard.

Returns
MIME string.

◆ MimeType() [2/3]

void StormByte::Multimedia::Pipeline::Config::Attachment::MimeType ( std::string && mime_type)
inlinenoexcept

Replaces the MIME type (moved).

Parameters
mime_typeConcrete MIME type. Not a wildcard.

◆ MimeType() [3/3]

void StormByte::Multimedia::Pipeline::Config::Attachment::MimeType ( std::string_view mime_type)
inlinenoexcept

Replaces the MIME type (copied from a view).

Parameters
mime_typeConcrete MIME type. Not a wildcard.

◆ Move()

PointerType StormByte::Multimedia::Pipeline::Config::Attachment::Move ( )
inlineoverride

Move into a new pointer.

Returns
Owning pointer to the moved Attachment.

◆ operator=() [1/2]

Attachment & StormByte::Multimedia::Pipeline::Config::Attachment::operator= ( Attachment && other)
defaultnoexcept

Move assignment.

Parameters
otherConfig to take.
Returns
*this.

◆ operator=() [2/2]

Attachment & StormByte::Multimedia::Pipeline::Config::Attachment::operator= ( const Attachment & other)
defaultnoexcept

Copy assignment.

Parameters
otherSource config.
Returns
*this.

The documentation for this class was generated from the following file: