ACF $AcfVersion:0$
CChangeDelegator.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 istd
10{
11
12
19{
20public:
22
25
26 // reimplemented (istd::IChangeDelegator)
27 virtual void SetSlavePtr(istd::IChangeable* slavePtr) override;
28 virtual istd::IChangeable* GetSlavePtr() const override;
29
30 // reimplemented (istd::IChangeable)
31 virtual void OnBeginChanges() override;
32 virtual void OnEndChanges(const ChangeSet& changeSet) override;
33
34private:
35 istd::IChangeable* m_slavePtr = nullptr;
36};
37
38
39// inline methods
40
42{
43 m_slavePtr = slavePtr;
44}
45
46
48{
49 return m_slavePtr;
50}
51
52
53} // namespace istd
54
55
56
Delegates calls of IChangeable methods to the given slave.
virtual void OnBeginChanges() override
Callback function for begin change event.
virtual void SetSlavePtr(istd::IChangeable *slavePtr) override
Sets the slave object pointer for change delegation.
istd::IChangeable BaseClass
virtual void OnEndChanges(const ChangeSet &changeSet) override
Callback function for end change event.
virtual istd::IChangeable * GetSlavePtr() const override
Gets the slave object pointer.
CChangeDelegator(istd::IChangeable *slavePtr)
Common interface for all classes that support delegation of their data updates to another class.
Set of change flags (its IDs).
Definition IChangeable.h:36
Common interface for data model objects, which can be changed.
Definition IChangeable.h:28
Standard library.
Definition IComponent.h:17