Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
STypeManager Class Reference

#include "steam/control/stypemanager.hpp"

Description

Definition at line 38 of file stypemanager.hpp.

Classes

class  Registry
 

Public Types

typedef StreamType::ImplFacade ImplFacade
 

Static Public Attributes

static lib::Depend< STypeManagerinstance
 access the system-wide stream type manager instance.
 

Public Member Functions

StreamType constgetType (Symbol sTypeID)
 (re)-access a media stream type using just a symbolic ID.
 
StreamType constgetType (StreamType::ID stID)
 
StreamType constgetType (StreamType::Prototype const &protoType)
 build or retrieve a complete StreamType implementing the given Prototype
 
StreamType constgetType (StreamType::ImplFacade const &implType)
 build or retrieve a complete StreamType incorporating the given implementation type
 
ImplFacade constgetImpl (Symbol libID, StreamType::Prototype const &protoType)
 build or retrieve an implementation (facade) utilizing a specific MediaImplLib and implementing the given Prototype.
 
template<class TY >
ImplFacade constgetImpl (Symbol libID, TY &rawType)
 build or retrieve an implementation (facade) wrapping up the actual implementation as designated by the rawType tag, which needs to be an implementation type of the mentioned MediaImplLib
 
template<class TY >
StreamType::ImplFacade constgetImpl (Symbol libID, TY &rawType)
 

Friends

class lib::DependencyFactory< STypeManager >
 

Protected Member Functions

 STypeManager ()
 
 ~STypeManager ()
 
void reset ()
 Lifecycle: reset all type registration information to the generic pristine default state.
 

Private Member Functions

ImplFacade constfetchImpl (StreamType::ImplFacade::TypeTag)
 

Private Attributes

std::unique_ptr< Registryreg_
 

Constructor & Destructor Documentation

◆ STypeManager()

STypeManager ( )
protected

Definition at line 34 of file stypemanager.cpp.

References STypeManager::reset().

+ Here is the call graph for this function:

◆ ~STypeManager()

~STypeManager ( )
protected

Definition at line 40 of file stypemanager.cpp.

Member Typedef Documentation

◆ ImplFacade

Member Function Documentation

◆ getType() [1/4]

StreamType const & getType ( Symbol  sTypeID)

(re)-access a media stream type using just a symbolic ID.

Effectively this queries a default

Definition at line 72 of file stypemanager.cpp.

◆ getType() [2/4]

StreamType const & getType ( StreamType::ID  stID)

Definition at line 80 of file stypemanager.cpp.

◆ getType() [3/4]

StreamType const & getType ( StreamType::Prototype const protoType)

build or retrieve a complete StreamType implementing the given Prototype

Definition at line 87 of file stypemanager.cpp.

◆ getType() [4/4]

StreamType const & getType ( StreamType::ImplFacade const implType)

build or retrieve a complete StreamType incorporating the given implementation type

Definition at line 94 of file stypemanager.cpp.

◆ getImpl() [1/3]

StreamType::ImplFacade const & getImpl ( Symbol  libID,
StreamType::Prototype const protoType 
)

build or retrieve an implementation (facade) utilizing a specific MediaImplLib and implementing the given Prototype.

Todo:
find out if this one is really necessary, because it is especially tricky

Definition at line 101 of file stypemanager.cpp.

Referenced by StreamTypeBasics_test::buildImplType().

+ Here is the caller graph for this function:

◆ getImpl() [2/3]

template<class TY >
ImplFacade const & getImpl ( Symbol  libID,
TY rawType 
)

build or retrieve an implementation (facade) wrapping up the actual implementation as designated by the rawType tag, which needs to be an implementation type of the mentioned MediaImplLib

◆ reset()

void reset ( )
protected

Lifecycle: reset all type registration information to the generic pristine default state.

This includes hard wired defaults and defaults provided by type plugins, but excludes everything added by the session

Definition at line 49 of file stypemanager.cpp.

References steam::control::ON_STREAMTYPES_RESET, STypeManager::reg_, and LifecycleHook::trigger().

Referenced by STypeManager::STypeManager().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fetchImpl()

Definition at line 108 of file stypemanager.cpp.

Referenced by STypeManager::getImpl().

+ Here is the caller graph for this function:

◆ getImpl() [3/3]

template<class TY >
StreamType::ImplFacade const & getImpl ( Symbol  libID,
TY rawType 
)

Definition at line 98 of file stypemanager.hpp.

References STypeManager::fetchImpl().

+ Here is the call graph for this function:

Member Data Documentation

◆ reg_

std::unique_ptr<Registry> reg_
private

Definition at line 42 of file stypemanager.hpp.

Referenced by STypeManager::reset().

◆ instance

Friends And Related Symbol Documentation

◆ lib::DependencyFactory< STypeManager >

Definition at line 78 of file stypemanager.hpp.

+ Collaboration diagram for STypeManager:

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