Twitch SDK (Internal)
Public Types | Public Member Functions | Protected Attributes | List of all members
ttv::ResourceFactoryChain< RESOURCE, FACTORY > Class Template Reference

#include <resourcefactorychain.h>

Public Types

typedef std::function< TTV_ErrorCode(const std::shared_ptr< FACTORY > &factory, std::shared_ptr< RESOURCE > &result)> CreateFunc
 
typedef std::function< bool(const std::shared_ptr< FACTORY > &factory)> QueryFunc
 

Public Member Functions

 ResourceFactoryChain (const std::string &name)
 
virtual ~ResourceFactoryChain ()
 
virtual TTV_ErrorCode Register (const std::shared_ptr< FACTORY > &factory)
 
virtual TTV_ErrorCode Unregister (const std::shared_ptr< FACTORY > &factory)
 
virtual TTV_ErrorCode Create (const CreateFunc &createFunc, std::shared_ptr< RESOURCE > &result) const
 
bool BoolQuery (const QueryFunc &queryFunc) const
 
void SetRegisteredDefaults ()
 
bool RegisteredDefaults () const
 
bool Empty () const
 

Protected Attributes

std::string mName
 
std::vector< std::shared_ptr< FACTORY > > mChain
 
bool mRegisteredDefaults
 

Member Typedef Documentation

◆ CreateFunc

template<typename RESOURCE , typename FACTORY >
typedef std::function<TTV_ErrorCode(const std::shared_ptr<FACTORY>& factory, std::shared_ptr<RESOURCE>& result)> ttv::ResourceFactoryChain< RESOURCE, FACTORY >::CreateFunc

◆ QueryFunc

template<typename RESOURCE , typename FACTORY >
typedef std::function<bool(const std::shared_ptr<FACTORY>& factory)> ttv::ResourceFactoryChain< RESOURCE, FACTORY >::QueryFunc

Constructor & Destructor Documentation

◆ ResourceFactoryChain()

template<typename RESOURCE , typename FACTORY >
ttv::ResourceFactoryChain< RESOURCE, FACTORY >::ResourceFactoryChain ( const std::string &  name)
inline

◆ ~ResourceFactoryChain()

template<typename RESOURCE , typename FACTORY >
virtual ttv::ResourceFactoryChain< RESOURCE, FACTORY >::~ResourceFactoryChain ( )
inlinevirtual

Member Function Documentation

◆ BoolQuery()

template<typename RESOURCE , typename FACTORY >
bool ttv::ResourceFactoryChain< RESOURCE, FACTORY >::BoolQuery ( const QueryFunc queryFunc) const
inline

◆ Create()

template<typename RESOURCE , typename FACTORY >
virtual TTV_ErrorCode ttv::ResourceFactoryChain< RESOURCE, FACTORY >::Create ( const CreateFunc createFunc,
std::shared_ptr< RESOURCE > &  result 
) const
inlinevirtual

◆ Empty()

template<typename RESOURCE , typename FACTORY >
bool ttv::ResourceFactoryChain< RESOURCE, FACTORY >::Empty ( ) const
inline

◆ Register()

template<typename RESOURCE , typename FACTORY >
virtual TTV_ErrorCode ttv::ResourceFactoryChain< RESOURCE, FACTORY >::Register ( const std::shared_ptr< FACTORY > &  factory)
inlinevirtual

◆ RegisteredDefaults()

template<typename RESOURCE , typename FACTORY >
bool ttv::ResourceFactoryChain< RESOURCE, FACTORY >::RegisteredDefaults ( ) const
inline

◆ SetRegisteredDefaults()

template<typename RESOURCE , typename FACTORY >
void ttv::ResourceFactoryChain< RESOURCE, FACTORY >::SetRegisteredDefaults ( )
inline

◆ Unregister()

template<typename RESOURCE , typename FACTORY >
virtual TTV_ErrorCode ttv::ResourceFactoryChain< RESOURCE, FACTORY >::Unregister ( const std::shared_ptr< FACTORY > &  factory)
inlinevirtual

Member Data Documentation

◆ mChain

template<typename RESOURCE , typename FACTORY >
std::vector<std::shared_ptr<FACTORY> > ttv::ResourceFactoryChain< RESOURCE, FACTORY >::mChain
protected

◆ mName

template<typename RESOURCE , typename FACTORY >
std::string ttv::ResourceFactoryChain< RESOURCE, FACTORY >::mName
protected

◆ mRegisteredDefaults

template<typename RESOURCE , typename FACTORY >
bool ttv::ResourceFactoryChain< RESOURCE, FACTORY >::mRegisteredDefaults
protected

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