ACF $AcfVersion:0$
CIdParam.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/IIdParam.h>
7
8
9namespace iprm
10{
11
12
16class CIdParam: virtual public IIdParam
17{
18public:
19 // reimplemented (iprm::INameParam)
20 virtual QByteArray GetId() const override;
21 virtual void SetId(const QByteArray& id) override;
22
23 // reimplemented (iser::ISerializable)
24 virtual bool Serialize(iser::IArchive& archive) override;
25
26 // reimplemented (istd::IChangeable)
27 virtual int GetSupportedOperations() const override;
28 virtual bool CopyFrom(const IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
29 virtual bool IsEqual(const IChangeable& object) const override;
31 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS) override;
32
33protected:
34 QByteArray m_id;
35};
36
37
38} // namespace iprm
39
40
41
42
Implementation of a named object over iprm::INameParam interface.
Definition CIdParam.h:17
virtual istd::IChangeableUniquePtr CloneMe(istd::IChangeable::CompatibilityMode mode=istd::IChangeable::CM_WITHOUT_REFS) const override
Make a copy of this object.
QByteArray m_id
Definition CIdParam.h:34
virtual bool ResetData(CompatibilityMode mode=CM_WITHOUT_REFS) override
Reset data to its default state.
virtual int GetSupportedOperations() const override
Get set of flags for supported operations.
virtual QByteArray GetId() const override
Get the object ID.
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 void SetId(const QByteArray &id) override
Set the object ID.
virtual bool CopyFrom(const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
Interface for an ID parameter.
Definition IIdParam.h:55
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.