ICF 3.1.1.10
Technical documentation of ICF Libraries
IVariableParam.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#ifndef iprm_IVariableParam_included
7#define iprm_IVariableParam_included
8
9
10// Qt includes
11#include <QtCore/QByteArray>
12#include <QtCore/QSet>
13
14// ICF includes
15#include <iser/ISerializable.h>
16#include <iprm/iprm.h>
17
18
19namespace iprm
20{
21
22
27{
28public:
29 typedef QSet<QByteArray> TypeIds;
30
34 virtual TypeIds GetKnownTypeIds() const = 0;
35
40 virtual QByteArray GetParameterTypeId() const = 0;
45 virtual iser::ISerializable* GetParameter() const = 0;
46
51 virtual bool AssignTypeId(const QByteArray& typeId) = 0;
52};
53
54
55} // namespace iprm
56
57
58#endif // !iprm_IVariableParam_included
59
60
Represents parameter, which can change its type.
QSet< QByteArray > TypeIds
virtual TypeIds GetKnownTypeIds() const =0
Get lilst of all known type ID's.
virtual QByteArray GetParameterTypeId() const =0
Get type ID of current stored parameter.
virtual iser::ISerializable * GetParameter() const =0
Get current parameter.
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.

© Witold Gantzke and Kirill Lepskiy