ACF $AcfVersion:0$
IParamsSet.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/QSet>
7#include <QtCore/QByteArray>
8
9// ACF includes
10#include <iser/IObject.h>
11
12#include <iprm/iprm.h>
13
14
15namespace iprm
16{
17 class IParamsInfoProvider;
18}
19
20
21namespace iprm
22{
23
24
80class IParamsSet: virtual public iser::IObject
81{
82public:
83 typedef QSet<QByteArray> Ids;
84
105 virtual Ids GetParamIds(bool editableOnly = false) const = 0;
106
137 virtual const iser::ISerializable* GetParameter(const QByteArray& id) const = 0;
138
173 virtual iser::ISerializable* GetEditableParameter(const QByteArray& id) = 0;
174
202 virtual const IParamsInfoProvider* GetParamsInfoProvider() const = 0;
203};
204
205
208
209
210} // namespace iprm
211
212
213
214
Provider of parameter information (name and description).
Set of general parameters.
Definition IParamsSet.h:81
virtual const iser::ISerializable * GetParameter(const QByteArray &id) const =0
Get any parameter (read-only access).
virtual iser::ISerializable * GetEditableParameter(const QByteArray &id)=0
Get access to editable parameter (read-write access).
virtual Ids GetParamIds(bool editableOnly=false) const =0
Get list of used parameter IDs in the parameter set.
QSet< QByteArray > Ids
Definition IParamsSet.h:83
virtual const IParamsInfoProvider * GetParamsInfoProvider() const =0
Get parameter information provider.
Common interface for factorisable model objects.
Definition IObject.h:23
Common class for all classes which objects can be archived or restored from archive.
Shared ownership smart pointer for interface types.
Unique ownership smart pointer for interface types.
Contains interfaces and implementations of flexible parameter concept.
istd::TSharedInterfacePtr< iprm::IParamsSet > IParamsSetSharedPtr
Definition IParamsSet.h:207
istd::TUniqueInterfacePtr< iprm::IParamsSet > IParamsSetUniquePtr
Definition IParamsSet.h:206