ACF $AcfVersion:0$
CObject2dFactory.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 <iser/IObject.h>
7
8
9namespace i2d
10{
11
12
17{
18public:
19 // reimplemented (istd::TIFactory<iser::IObject>)
20 virtual istd::TUniqueInterfacePtr<iser::IObject> CreateInstance(const QByteArray& keyId = "") const override;
21
22 // reimplemented (istd::IFactoryInfo)
23 virtual KeyList GetFactoryKeys() const override;
24
25 // static methods
27
28private:
29 static KeyList GetInitialFactoryKeys();
30
31 // static attributes
32 static KeyList s_factoryKeys;
33 static CObject2dFactory s_instance;
34};
35
36
37} // namespace i2d
38
39
40
41
Simple factory for 2D-objects.
virtual istd::TUniqueInterfacePtr< iser::IObject > CreateInstance(const QByteArray &keyId="") const override
Create an instance of the object, mapped to the keyId keyId.
virtual KeyList GetFactoryKeys() const override
Returns all possible keys for this factory.
static const CObject2dFactory & GetInstance()
QSet< QByteArray > KeyList
Generic interface for a factory.
Definition TIFactory.h:19
Unique ownership smart pointer for interface types.
Contains the 2D objects.
Definition CAffine2d.h:11