ICF 3.0.5.47
Technical documentation of ICF Libraries
CNameParam.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_CNameParam_included
7#define iprm_CNameParam_included
8
9
10// ICF includes
11#include <iprm/INameParam.h>
12
13
14namespace iprm
15{
16
17
21class CNameParam: virtual public INameParam
22{
23public:
24 CNameParam(const QString& name = "");
25
26 // reimplemented (iprm::INameParam)
27 const QString& GetName() const override;
28 void SetName(const QString& name) override;
29 bool IsNameFixed() const override;
30
31 // reimplemented (iser::ISerializable)
32 bool Serialize(iser::IArchive& archive) override;
33
34 // reimplemented (istd::IChangeable)
35 bool CopyFrom(const IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
36 std::unique_ptr<istd::IChangeable> CloneMe(istd::IChangeable::CompatibilityMode mode = istd::IChangeable::CM_WITHOUT_REFS) const override;
37
38protected:
39 QString m_name;
40};
41
42
43} // namespace iprm
44
45
46#endif // !iprm_CNameParam_included
47
48
Implementation of a named object over iprm::INameParam interface.
Definition CNameParam.h:22
bool Serialize(iser::IArchive &archive) override
Load or store state of this object as a archive stream.
CNameParam(const QString &name="")
bool IsNameFixed() const override
Return true, if the name setting is enabled.
std::unique_ptr< istd::IChangeable > CloneMe(istd::IChangeable::CompatibilityMode mode=istd::IChangeable::CM_WITHOUT_REFS) const override
Make a copy of this object.
const QString & GetName() const override
Get the object name.
void SetName(const QString &name) override
Set the object name.
bool CopyFrom(const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
Interface for a object containing simple text.
Definition INameParam.h:26
Represent input/output persistence archive.
Definition IArchive.h:33
CompatibilityMode
Control how relationship betweeen objects are interpreted.
@ CM_WITHOUT_REFS
External references are simple ignored.
Contains interfaces and implementations of flexible parameter concept.

© Witold Gantzke and Kirill Lepskiy