OpenLexocad  28.0
Subject.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <set>
4 
5 
6 namespace Core
7 {
8 class DocObjectObserver;
9 class DocObject;
10 struct DocObjectObserverMsg;
11 class LX_CORE_EXPORT Subject
12 {
13 public:
14  void attach(Core::DocObjectObserver* aObserver);
15  void detach(Core::DocObjectObserver* aObserver);
16  void notify(Core::DocObject* aCaller, const Core::DocObjectObserverMsg& aReason);
17 
18 private:
19  std::set<Core::DocObjectObserver*> _observer;
20 };
21 } // namespace Core
Core::Subject::attach
void attach(Core::DocObjectObserver *aObserver)
Core::DocObjectObserverMsg
Definition: DocObjectObserver.h:9
Core::Subject
Definition: Subject.h:12
Core::Subject::detach
void detach(Core::DocObjectObserver *aObserver)
Core::DocObject
Definition: DocObject.h:54
Core
Definition: Base.h:5
Core::DocObjectObserver
Definition: DocObjectObserver.h:24
Core::Subject::notify
void notify(Core::DocObject *aCaller, const Core::DocObjectObserverMsg &aReason)