ICF 3.0.5.47
Technical documentation of ICF Libraries
TChangeDelegator.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#pragma once
7
8
9// ICF includes
11
12
13namespace istd
14{
15
16
23template <class Base>
25 public Base,
26 public CChangeDelegator
27{
28public:
29 typedef Base BaseClass;
31
34
35 // reimplemented (istd::IChangeable)
36 virtual void OnBeginChanges();
37 virtual void OnEndChanges(const istd::IChangeable::ChangeSet& changeSet);
38};
39
40
41// public methods
42
43template <class Base>
47
48
49template <class Base>
51{
52 BaseClass2::SetSlavePtr(slavePtr);
53}
54
55
56// pseudo-reimplemented (istd::IChangeable)
57
58template <class Base>
60{
61 BaseClass2::OnBeginChanges();
62
63 BaseClass::OnBeginChanges();
64}
65
66
67template <class Base>
69{
70 BaseClass::OnEndChanges(changeSet);
71
72 BaseClass2::OnEndChanges(changeSet);
73}
74
75
76} // namespace istd
77
78
Delegates calls of IChangeable methods to the given slave.
Set of change flags (its IDs).
Definition IChangeable.h:38
Common interface for data model objects, which can be changed.
Definition IChangeable.h:32
Binder of some istd::IChangeable implementation and changing delegator.
virtual void OnEndChanges(const istd::IChangeable::ChangeSet &changeSet)
Callback function for end change event.
virtual void OnBeginChanges()
Callback function for begin change event.
TChangeDelegator(istd::IChangeable *slavePtr)
CChangeDelegator BaseClass2
Standard library.
Definition IComponent.h:17

© Witold Gantzke and Kirill Lepskiy