9 #ifndef observeEvent_H_
10 #define observeEvent_H_
14 #include <vlutil/vlSmartPointers.h>
16 #include <vlutil/vlExceptions.h>
26 template<
typename SubjectType>
27 class DtObserveEvent :
public DtObserveConnectionComponent
58 throw DtInvalidInput(
"Connection may not be null.");
63 typename ObserverList::iterator it;
90 throw DtInvalidInput(
"Connection may not be null.");
102 reinterpret_cast<DtObserveConnectionComponent*>(observer));
105 sharedCon->disconnect(sharedCon);
113 typename ObserverList::iterator obs;
117 (*obs)->observe(value);
virtual void disconnect(DtObserveConnectionSP con)
Disconnects an event from a shared connection.
Definition: observeEvent.h:86
DtObserver< SubjectType > SubjectObserver
Type definition for list of Observers.
Definition: observeEvent.h:32
void observeSubject(const SubjectType &value)
The event call which will cause all observers to observe the provided subject object.
Definition: observeEvent.h:111
std::list< DtObserver< SubjectType > * > ObserverList
Definition: observeEvent.h:33
virtual void connect(DtObserveConnectionSP con)
Connects an event to an existing shared connection.
Definition: observeEvent.h:54
ObserverList myObservers
A list of observers to call when inspecting.
Definition: observeEvent.h:124
Contains MAKLogger::DtObserver and MAKLogger::DtObserverCallback and MAKLogger::DtObserverFunctor cla...
virtual void disconnect(DtObserveConnectionSP con)
DtObserveEvent()
CTOR for the object. No parameters are used.
Definition: observeEvent.h:36
virtual ~DtObserveEvent()
DTOR for the class.
Definition: observeEvent.h:42
virtual void connect(DtObserveConnectionSP con)
DtObserveConnectionSP findEventObserverConnection(DtObserveConnectionComponent *event, DtObserveConnectionComponent *observer)
Contains MAKLogger::DtObserveConnection and MAKLogger::DtObserveConnectionComponent classes...
std::shared_ptr< DtObserveConnection > DtObserveConnectionSP
Definition: observeConnection.h:28
virtual void disconnect(SubjectObserver *observer)
Disconnects the event from a specific observer.
Definition: observeEvent.h:99