ACF $AcfVersion:0$
CEventBasedNotifier.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// Qt includes
6#include <QtCore/QObject>
7
8// ACF includes
10#include <istd/TOptDelPtr.h>
11
12
13namespace istd
14{
15
16
17class CAsyncNotifier;
18
19
26{
27public:
30
31private:
33
34 CAsyncNotifier* m_asyncNotifierPtr = nullptr;
35};
36
37
43class CAsyncNotifier: protected QObject
44{
45 Q_OBJECT
46
47 friend class CEventBasedNotifier;
48
49public:
51
52protected:
54
55protected Q_SLOTS:
57
58Q_SIGNALS:
60
61private:
65 istd::IChangeable* m_slavePtr = nullptr;
66
70 IChangeable::ChangeSet m_changeIds;
71
75 bool m_isBeginCalled = false;
76};
77
78
79} // namespace istd
80
81
82
83
CAsyncNotifier(istd::IChangeable *slavePtr, const IChangeable::ChangeSet &changeSet)
Implementation of model changes notification between different threads.
CEventBasedNotifier(istd::IChangeable *slavePtr, const IChangeable::ChangeSet *changeSetPtr=&IChangeable::GetAnyChange())
Set of change flags (its IDs).
Definition IChangeable.h:36
Common interface for data model objects, which can be changed.
Definition IChangeable.h:28
static const ChangeSet & GetAnyChange()
Get anonymous change set.
Standard library.
Definition IComponent.h:17