ACF $AcfVersion:0$
CNameParam.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// ACF includes
6#include <iprm/INameParam.h>
7
8
9namespace iprm
10{
11
12
16class CNameParam: virtual public INameParam
17{
18public:
19 // reimplemented (iprm::INameParam)
20 virtual const QString& GetName() const override;
21 virtual void SetName(const QString& name) override;
22 virtual bool IsNameFixed() const override;
23
24 // reimplemented (iser::ISerializable)
25 virtual bool Serialize(iser::IArchive& archive) override;
26
27 // reimplemented (istd::IChangeable)
28 virtual int GetSupportedOperations() const override;
29 virtual bool CopyFrom(const IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
31 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS) override;
32 virtual bool IsEqual(const IChangeable& object) const override;
33
34protected:
35 QString m_name;
36};
37
38
39} // namespace iprm
40
41
42
43
Implementation of a named object over iprm::INameParam interface.
Definition CNameParam.h:17
virtual void SetName(const QString &name) override
Set the object name.
virtual const QString & GetName() const override
Get the object name.
virtual bool ResetData(CompatibilityMode mode=CM_WITHOUT_REFS) override
Reset data to its default state.
virtual bool Serialize(iser::IArchive &archive) override
Load or store state of this object as a archive stream.
virtual bool IsEqual(const IChangeable &object) const override
virtual int GetSupportedOperations() const override
Get set of flags for supported operations.
virtual istd::IChangeableUniquePtr CloneMe(istd::IChangeable::CompatibilityMode mode=istd::IChangeable::CM_WITHOUT_REFS) const override
Make a copy of this object.
virtual bool IsNameFixed() const override
Return true if the name is fixed (non-editable).
virtual bool CopyFrom(const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
Interface for an object containing a name.
Definition INameParam.h:67
Represents an input/output persistence archive for object serialization.
Definition IArchive.h:164
CompatibilityMode
Control how relationship betweeen objects are interpreted.
@ CM_WITHOUT_REFS
External references are simple ignored.
Contains interfaces and implementations of flexible parameter concept.