StormByte C++ Library: Multimedia module 0.0.9999
StormByte-Multimedia is a StormByte library module for parsing configuration files
Loading...
Searching...
No Matches
Public Member Functions | List of all members
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:
Inheritance graph
[legend]
Collaboration diagram for StormByte::Multimedia::Pipeline::Config::Attachment:
Collaboration graph
[legend]

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.
 
Attachmentoperator= (const Attachment &other) noexcept=default
 Copy assignment.
 
Attachmentoperator= (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.
 
Baseoperator= (const Base &other) noexcept=default
 Copy assignment.
 
Baseoperator= (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 ImplementationImplementation () 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: