ACF $AcfVersion:0$
CEnableableParam.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
7
8
9namespace iprm
10{
11
12
17{
18public:
19 CEnableableParam(bool isEnabled = true);
20
21 // reimplemented (iprm::IEnableableParam)
22 virtual bool IsEnabled() const override;
23 virtual bool IsEnablingAllowed() const override;
24 virtual bool SetEnabled(bool isEnabled = true) override;
25
26 // reimplemented (iser::ISerializable)
27 virtual bool Serialize(iser::IArchive& archive) override;
28
29 // reimplemented (istd::IChangeable)
30 virtual bool CopyFrom(const IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
32
33private:
34 bool m_isEnabled;
35};
36
37
38} // namespace iprm
39
40
41
42
Basic implementation of IEnableableParam interface.
virtual bool Serialize(iser::IArchive &archive) override
Load or store state of this object as a archive stream.
CEnableableParam(bool isEnabled=true)
virtual istd::TUniqueInterfacePtr< istd::IChangeable > CloneMe(istd::IChangeable::CompatibilityMode mode=istd::IChangeable::CM_WITHOUT_REFS) const override
Make a copy of this object.
virtual bool IsEnabled() const override
Return true if something is enabled.
virtual bool CopyFrom(const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
virtual bool IsEnablingAllowed() const override
Return true if enabling/disabling is allowed.
virtual bool SetEnabled(bool isEnabled=true) override
Set the enabled state.
Interface for objects which can be enabled/disabled.
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.
Unique ownership smart pointer for interface types.
Contains interfaces and implementations of flexible parameter concept.