ICF 3.1.1.10
Technical documentation of ICF Libraries
TIFactory.h
Go to the documentation of this file.
1/********************************************************************************
2** This file is part of the ICF Framework. Copyright (C) Witold Gantzke & Kirill Lepskiy
3** ICF Framework may be used under the terms of the LGPL License v. 2.1 by the Free Software Foundation.
4********************************************************************************/
5
6#pragma once
7
8
9// ICF includes
10#include <istd/IFactoryInfo.h>
11
12
13namespace istd
14{
15
16
20template <class Interface>
21class TIFactory: virtual public IFactoryInfo
22{
23public:
24 typedef Interface InterfaceType;
25
31 virtual std::unique_ptr<Interface> CreateInstance(const QByteArray& keyId = "") const = 0;
32};
33
34
37
38
39} // namespace istd
40
41
Base interface providing info about factorisable objects.
Generic interface for a factory.
Definition TIFactory.h:22
Interface InterfaceType
Definition TIFactory.h:24
virtual std::unique_ptr< Interface > CreateInstance(const QByteArray &keyId="") const =0
Create an instance of the object, mapped to the keyId keyId.
Standard library.
Definition IComponent.h:17
TIFactory< void > IVoidFactory
Definition TIFactory.h:35
TIFactory< istd::IPolymorphic > IFactory
Definition TIFactory.h:36

© Witold Gantzke and Kirill Lepskiy