ACF $AcfVersion:0$
TIFactory.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ACF-Commercial
2#pragma once
3
4
5// ACF includes
6#include <istd/IFactoryInfo.h>
8
9
10namespace istd
11{
12
13
17template <class Interface>
18class TIFactory: virtual public IFactoryInfo
19{
20public:
21 typedef Interface InterfaceType;
22
28 virtual istd::TUniqueInterfacePtr<Interface> CreateInstance(const QByteArray& keyId = "") const = 0;
29};
30
31
34
35
36} // namespace istd
37
38
39
Base interface providing information about factory-producible objects.
Generic interface for a factory.
Definition TIFactory.h:19
Interface InterfaceType
Definition TIFactory.h:21
virtual istd::TUniqueInterfacePtr< Interface > CreateInstance(const QByteArray &keyId="") const =0
Create an instance of the object, mapped to the keyId keyId.
Unique ownership smart pointer for interface types.
Standard library.
Definition IComponent.h:17
TIFactory< void > IVoidFactory
Definition TIFactory.h:32
TIFactory< istd::IPolymorphic > IFactory
Definition TIFactory.h:33