ACF $AcfVersion:0$
IVariableParam.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#include <QtCore/QSet>
8
9// ACF includes
10#include <iser/ISerializable.h>
11#include <iprm/iprm.h>
12
13
14namespace iprm
15{
16
17
83{
84public:
85 typedef QSet<QByteArray> TypeIds;
86
107 virtual TypeIds GetKnownTypeIds() const = 0;
108
130 virtual QByteArray GetParameterTypeId() const = 0;
171 virtual iser::ISerializable* GetParameter() const = 0;
172
209 virtual bool AssignTypeId(const QByteArray& typeId) = 0;
210};
211
212
213} // namespace iprm
214
215
Represents a parameter which can change its type.
virtual TypeIds GetKnownTypeIds() const =0
Get list of all known type IDs.
QSet< QByteArray > TypeIds
virtual QByteArray GetParameterTypeId() const =0
Get type ID of current stored parameter.
virtual iser::ISerializable * GetParameter() const =0
Get current parameter instance.
virtual bool AssignTypeId(const QByteArray &typeId)=0
Assign type ID to this object.
Common class for all classes which objects can be archived or restored from archive.
Contains interfaces and implementations of flexible parameter concept.