ACF
$AcfVersion:0$
Acf
Include
istd
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
>
7
#include <
istd/TInterfacePtr.h
>
8
9
10
namespace
istd
11
{
12
13
17
template
<
class
Interface>
18
class
TIFactory
:
virtual
public
IFactoryInfo
19
{
20
public
:
21
typedef
Interface
InterfaceType
;
22
28
virtual
istd::TUniqueInterfacePtr<Interface>
CreateInstance
(
const
QByteArray& keyId =
""
)
const
= 0;
29
};
30
31
32
typedef
TIFactory<void>
IVoidFactory
;
33
typedef
TIFactory<istd::IPolymorphic>
IFactory
;
34
35
36
}
// namespace istd
37
38
39
IFactoryInfo.h
TInterfacePtr.h
istd::IFactoryInfo
Base interface providing information about factory-producible objects.
Definition
IFactoryInfo.h:99
istd::TIFactory
Generic interface for a factory.
Definition
TIFactory.h:19
istd::TIFactory::InterfaceType
Interface InterfaceType
Definition
TIFactory.h:21
istd::TIFactory::CreateInstance
virtual istd::TUniqueInterfacePtr< Interface > CreateInstance(const QByteArray &keyId="") const =0
Create an instance of the object, mapped to the keyId keyId.
istd::TUniqueInterfacePtr
Unique ownership smart pointer for interface types.
Definition
TInterfacePtr.h:274
istd
Standard library.
Definition
IComponent.h:17
istd::IVoidFactory
TIFactory< void > IVoidFactory
Definition
TIFactory.h:32
istd::IFactory
TIFactory< istd::IPolymorphic > IFactory
Definition
TIFactory.h:33
Generated by
1.9.8