ACF $AcfVersion:0$
IObject.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// Qt includes
6#include <QtCore/QByteArray>
7
8// ACF includes
9#include <istd/TIFactory.h>
10#include <iser/ISerializable.h>
11
12
13namespace iser
14{
15
16
22class IObject: virtual public ISerializable
23{
24public:
25 virtual QByteArray GetFactoryId() const;
26};
27
28
29// public methods
30
31inline QByteArray IObject::GetFactoryId() const
32{
33 static QByteArray emptyId;
34
35 return emptyId;
36}
37
38
39// public typedefs
40
44
45
46} // namespace iser
47
48
Common interface for factorisable model objects.
Definition IObject.h:23
virtual QByteArray GetFactoryId() const
Definition IObject.h:31
Common class for all classes which objects can be archived or restored from archive.
Generic interface for a factory.
Definition TIFactory.h:19
Shared ownership smart pointer for interface types.
Unique ownership smart pointer for interface types.
Contains general persistence mechanism with basic archives implementations.
istd::TIFactory< IObject > IObjectFactory
Definition IObject.h:41
istd::TSharedInterfacePtr< iser::IObject > IObjectSharedPtr
Definition IObject.h:43
istd::TUniqueInterfacePtr< iser::IObject > IObjectUniquePtr
Definition IObject.h:42