20template <
class InterfaceType>
26 template <
class FactoryImpl>
31 if (factoryPtr->GetFactoryKeys().isEmpty()){
56template <
class InterfaceType>
61 for (
typename FactoryList::const_iterator iter = m_factoryList.begin();
62 iter != m_factoryList.end();
68 retVal += factoryKeys;
77template <
class InterfaceType>
80 for (
typename FactoryList::const_iterator iter = m_factoryList.begin();
81 iter != m_factoryList.end();
QSet< QByteArray > KeyList
Standard generic implementation of the composed factory.
virtual istd::TUniqueInterfacePtr< InterfaceType > CreateInstance(const QByteArray &keyId="") const override
Create an instance of the object, mapped to the keyId keyId.
TIFactory< InterfaceType > FactoryInterface
istd::TSmartPtr< FactoryInterface > FactoryPtr
virtual IFactoryInfo::KeyList GetFactoryKeys() const override
Returns all possible keys for this factory.
bool RegisterFactory(const QByteArray &typeId)
FactoryList m_factoryList
QList< FactoryPtr > FactoryList
Generic interface for a factory.
bool IsValid() const noexcept
Unique ownership smart pointer for interface types.